perm filename DECBTS.MID[MAC,LSP] blob sn#254637 filedate 1976-12-08 generic text, type T, neo UTF8
;	UUOSYM defines the dec UUO symbols

.auxil		; Don't cref this file's symbols
if2,	.ineof	; don't need to do on pass 2

	SUBTTL	NAMING CONVENTIONS

;PATTERN	USAGE

; .GGSSS	NUMBER OF GENERAL CATEGORY GG, SPECIFIC USE SSS
; GG.SSS	BYTE OF GENERAL CATEGORY GG, SPECIFIC USE SSS
; UUUUU.	UUO OR FUNCTION OR MACRO

; %GGSSS	GETTAB INDEX (WORD,,TABLE)
; GG%SSS	BYTE IN A SPECIFIC GETTAB
; GGEEE%	ERROR CODE OF CATEGORY GG, SPECIFIC ERROR EEE


;SPECIAL CASES--

; F%AAAA	RH=BYTE OF FEATURE TEST NAMED FTAAAA
;			IN LH=FEATURE DEFINED
;			IN RH=FEATURE TURNED ON
;		LH=LH OF GETTAB IN .GTFET CONTAINING INFO


;RESERVED FOR OTHER THAN C.MAC, C.UNV--

;ALL SYMBOLS CONTAING $ ARE RESERVED TO THE USER
;	(CUSTOMER, HIS USER, OR SPECIFIC PROGRAMS)

; ?.????	RESERVED TO OTHER PARAMETER FILES

;ALL SYMBOLS OF THE FORMS:  QABCDE, .QABCD, %QABCD
;	(I.E, WITH FIRST ALPHABETIC "Q") ARE RESERVED TO
;	QPRM.MAC, QPRM.UNV FOR THE QMANGR PARAMETER AREA, ETC.

;ALL SYMBOLS OF THE FORMS: %NNNNN, U..NNN, E..AAA
;	ARE RESERVED TO E.MAC, E.UNV FOR THE ERROR HANDLER

;ALL SYMBOLS OF THE FORMS: FS.M??, FX.???, TS.???, AND .FX???
;	ARE RESERVED TO SCNMAC.MAC, SCNMAC.UNV FOR SCAN AND WILD
	SUBTTL	UPDATE AND CHECKOUT INSTRUCTIONS

;1.  COMPARE CREFS OF F% IN C VS. FT IN DATMAN
;2.  VERIFY NO $ IN CREF IN C AND THAT ONLY LEGAL PATTERNS EXIST
;3.  UPDATE CALLI TABLE FROM UUOCON
;4.  UPDATE GETTAB LIST OF TABLES (.GTABC) FROM UUOCON. DEFINE	
;	ENTRIES/BYTES IN NEW TABLES
;5.  FIND NEW ENTRIES IN OLD TABLES (ESP. .GTCNF, .GTLVD, .GTSYS,
;	.GTC0C, .GTC0V)
;6.  FIND NEW BYTES IN OLD WORDS (ESP. .GTPRV, %CNDBG, .GTWCH,
;	%CNST2)
;7.  FIND NEW ERRORS AND FUNCTIONS FOR UUOS (ESP. DEVTYP, OPEN/CLOSE,
;	PATH., LOOKUP)
;8.  FIND NEW DAEMON FUNCTIONS, ERRORS, FORMATS.
;9.  VERIFY NO DUPLICATES BY SCANNING CREF FOR ONLY SINGLE REFERENCES
;10. VERIFY THAT ALL USER JOBDAT SYMBOLS APPEAR
;11. VERIFY THAT SYMBOLS RESERVED TO OTHER FILES DO NOT APPEAR:
;	?.????
;	Q?????, %Q????, .Q????
;	%NNNNN, U..NNN, E..???
;	FS.M??, FX.???, TS.???, .FX???
	SUBTTL	GETTAB CONSTITUENTS

.GTSTS==0	;JOB STATUS
.GTADR==1	;JOB RELOCATION AND PROTECTION
.GTPPN==2	;PROJ-PROG NUMBER
.GTPRG==3	;PROGRAM NAME
.GTTIM==4	;TOTAL RUN TIME IN TICKS
.GTKCT==5	;KILO-CORE TICKS
.GTPRV==6	;PRIV WORD
	JP.IPC==1←35.	;IPCF PRIVILEGED FUNCTIONS
	JP.DPR==3←33.	;HIGHEST DISK PRIORITY
	JP.MET==1←32.	;METER UUO
	JP.POK==1←31.	;POKE MONITOR
	JP.CCC==1←30.	;CHANGE CPU SPECIFICATION
	JP.HPQ==17←26.	;HI PRIORITY QUEUE
	JP.NSP==1←25.	;UNSPOOL DEVICES
	JP.ENQ==1←24.	;ENQ./DEQ. PRIVS
	JP.RTT==1←22.	;RTTRP UUO
	JP.LCK==1←21.	;LOCK UUO
	JP.TRP==1←20.	;TRAPSET UUO
	JP.SPA==1←19.	;SPY ON ALL CORE
	JP.SPM==1←18.	;SPY ON MONITOR
.GTSWP==7	;SWAPPING POINTERS
.GTTTY==10	;TTY TABLE
.GTCNF==11	;CONFIGURATION
	%CNFG0==0,,11	;NAME OF SYSTEM
	%CNFG1==1,,11	; ..
	%CNFG2==2,,11	; ..
	%CNFG3==3,,11	; ..
	%CNFG4==4,,11	; ..
	%CNDT0==5,,11	;DATE OF SYSTEM
	%CNDT1==6,,11	; ..
	%CNTAP==7,,11	;NAME OF SYSTEM DEVICE
	%CNTIM==10,,11	;TIME OF DAY
	%CNDAT==11,,11	;DATE IN BINARY
	%CNSIZ==12,,11	;SYSTEM MEMORY SIZE
	%CNOPR==13,,11	;NAME OF OPR TTY
	%CNDEV==14,,11	;LH = DDB CHAIN
	%CNSJN==15,,11	;LH=-SEGN, RH=JOBN NUMBERS
	%CNTWR==16,,11	;NON-ZERO IS DUAL SEGMENTS
	%CNSTS==17,,11	;SYSTEM STATES
		ST%DSK==1←35.	;DISK SYSTEM
		ST%SWP==1←34.	;SWAPPING SYSTEM
		ST%LOG==1←33.	;LOGIN
		ST%FTT==1←32.	;FULL DUPLEX TTY SOFTWARE
		ST%PRV==1←31.	;PRIVILEGES
		ST%TWR==1←30.	;DUAL SEGMENT SOFTWARE
		ST%CYC==1←29.	;50 HERTZ CLOCK
		ST%TDS==7←26.	;TYPE OF DISK SYSTEM
		ST%IND==1←25.	;IND. PPNS ON DISK
		ST%IMG==1←24.	;IMAGE MODE TTYS
		ST%DUL==1←23.	;DUAL PROCESSOR SYSTEM
		ST%MRB==1←22.	;MULTIPLE RIBS SUPPORTED
		ST%HPT==1←21.	;HIGH PRECISION TIME ACCOUNTING
		ST%EMO==1←20.	;EXCLUDE OVERHEAD FROM TIME ACCOUNTING
		ST%RTC==1←19.	;REAL TIME CLOCK
		ST%MBF==1←18.	;MADE FOR FOROTS
		ST%NOP==1←8.	;NO OPERATOR IN ATTENDANCE
		ST%NSP==1←7.	;UNSPOOL DEVICES
		ST%ASS==1←6.	;ASSIGN/INIT DEVICES
		ST%NRT==1←3.	;NO REMOTE TTY'S
		ST%BON==1←2.	;BATCH ONLY
		ST%NRL==1←1.	;NO REMOTE LOGINS
		ST%NLG==1←0.	;NO LOGINS EXCEPT CTY/OPR
	%CNSER==20,,11	;APR SERIAL NUMBER
	%CNNSM==21,,11	;NANO-SECS PER MEMORY CYCLE
	%CNPTY==22,,11	;LH=NUMBER FIRST INV. TTY, RH=NUMBER PTYS
	%CNFRE==23,,11	;POINTER FOR BIT MAP OF CORE BLOCKS
	%CNLOC==24,,11	;LOCATION OF LOW CORE CORE BLOCKS
	%CNSTB==25,,11	;POINTER TO STATION BLOCK CHAIN
	%CNOPL==26,,11	;OPR LDB ADDRESS
	%CNTTF==27,,11	;POINTER TO TTY FREE CHUNKS
	%CNTTC==30,,11	;LH=NUMBER OF TTY CHUNKS, RH=ADDR OF FIRST
	%CNTTN==31,,11	;NUMBER OF FREE CHUNKS
	%CNLNS==32,,11	;POINTER TO CURRENT COMMAND TTY
	%CNLNP==33,,11	;POINTER TO TTY LINE TABLE
	%CNVER==34,,11	;MONITOR VERSION
	%CNDSC==35,,11	;POINTER TO DATA SET CONTROL TABLE
	%CNDLS==36,,11	;LAST RECIEVE INT. FROM DC10 (PRE 5.07)
	%CNCCI==37,,11	;LAST RECIEVE INT. FROM 680I (PRE 5.07)
	%CNSGT==40,,11	;LAST DORM. SEG THROWN AWAY
	%CNPOK==41,,11	;ADDRESS OF LAST POKED LOCATION
	%CNPUC==42,,11	;LH=JOB, RH=COUNT OF POKES
	%CNWHY==43,,11	;REASON FOR LAST RELOAD
	%CNTIC==44,,11	;NUMBER OF TICKS PER SECOND
	%CNPDB==45,,11	;POINTER TO PDB POINTER TABLES
	%CNRTC==46,,11	;RESOLUTION OF RUNTIME CLOCK (UNITS/SEC)
	%CNCHN==47,,11	;LH=PTR TO CHANNEL D.B. LIST,RH=UNUSED
	%CNLMX==50,,11	;LOGMAX (MAX JOBS TO BE LOGGED IN)
	%CNBMX==51,,11	;BATMAX (MAX BATCH JOBS)
	%CNBMN==52,,11	;BATMIN (MIN JOBS RESERVED FOR BATCH)
	%CNDTM==53,,11	;INTERNAL FORMAT DATE,,TIME
	%CNLNM==54,,11	;NUMBER OF JOBS LOGGED IN
	%CNBNM==55,,11	;NUMBER OF BATCH JOBS LOGGED IN
	%CNYER==56,,11	;LOCAL YEAR
	%CNMON==57,,11	;LOCAL MONTH
	%CNDAY==60,,11	;LOCAL DAY OF MONTH
	%CNHOR==61,,11	;LOCAL HOUR
	%CNMIN==62,,11	;LOCAL MINUTES
	%CNSEC==63,,11	;LOCAL SECONDS
	%CNGMT==64,,11	;TIME FROM GMT IN INTERNAL FORMAT
	%CNDBG==65,,11	;DEBUGGING STATUS WORD
		ST%DBG==1←35.	;SYSTEM DEBUGGING
		ST%RDC==1←34.	;RELOAD ON DEBUF STOPCD
		ST%RJE==1←33.	;RELOAD ON JOB STOPCD
		ST%NAR==1←32.	;NO AUTO RELOADS
		ST%CP1==1←31.	;IF SECOND CPU STOPS, STOP CPU0
	%CNFRU==66,,11	;MONITOR FREE CORE USED
	%CNTCM==67,,11	;MAX TTY CHUNKS
	%CNCVN==70,,11	;CUSTOMER VERSION (136)
	%CNDVN==71,,11	;DEC VERSION (137)
	%CNDFC==72,,11	;NUMBER OF DF10 DATA CHANS
	%CNRTD==73,,11	;NUMBER OF RT DEVICES
	%CNHPQ==74,,11	;NUMBER OF HPQ'S
	%CNLDB==75,,11	;TTY DDB WORD POINTING TO LDB
	%CNMVO==76,,11	;MAX VECTOR OFFSET FOR PISYS.
	%CNMIP==77,,11	;MAX PRIORITY FOR PISYS.
	%CNMER==100,,11	;ADDR OF MTA0,,OFFSET OF MTA ERR RPT WORD
	%CNET1==101,,11	;USER ADDRESS OF EXEC'S AC T1
	%CNLSD==102,,11	;LENGTH OF SHORT DDB
	%CNLLD==103,,11	;LENGTH OF LONG DDB
	%CNLDD==104,,11	;LENGTH OF DISK DDB
	%CNEXM==105,,11	;ADDRESS IN JOBDAT OF LAST E/D COMMAND
	%CNST2==106,,11	;MORE CONFIGURATION FEATURE INDICATORS
		ST%NDN==1←17.	;NETWORK DEVICE NAMES (GGGNNU)
		ST%XPI==1←16.	;EXCLUDE PI TIE FROM RUNTIME
		ST%ERT==1←15.	;EBOX/MBOX RUNTIME (KL10 ONLY)
		ST%EXE==1←14.	;SAVE AND SSAVE WRITE .EXE FILES
		ST%NJN==1←13.	;SYSTEM USES 9 BIT JOB NUMBERS
		ST%EER==1←12.	;EXTENDED ERROR REPORTING
		ST%TAP==1←11.	;TAPSER INCLUDED
		ST%MBE==1←10.	;MASS BUS ERROR REPORTS
		ST%GAL==1←9.	;GALAXY-10 SUPPORT INCLUDED
		ST%ENQ==1←8.	;ENQ./DEQ. IS INCLUDED
		ST%SHC==1←7.	;SCHEDULER HAS CLASSES
		ST%NSE==1←6.	;NON-SUPERSEDING ENTER
		ST%MSG==1←5.	;MSGSER INCLUDED
		ST%PSI==1←4.	;PSISER INCLUDED
		ST%IPC==1←3.	;IPCF INCLUDED
		ST%VMS==1←2.	;VMSER INCLUDED
		ST%MER==1←1.	;MTA ERROR REPORTING
		ST%SSP==1←0.	;SWAP SPACE IN PAGES
	%CNPIM==107,,11	;MINIMUM CONDITION IN PISYS
	%CNPIL==110,,11	;LENGTH OF INTERNAL PIT'S
	%CNPIA==111,,11	;ADDRESS OF JBTPIA
	%CNMNT==112,,11	;MONITOR TYPE
		CN%MNX==1←35.	;STRANGE MONITOR
		CN%MNT==77←12.	;DEC-KNOWN TYPE
				;1=TOPS 2=ITS 3=TENEX
		CN%MNS==77←6.	;DEC SUB TYPE
		CN%MNC==77	;CUSTOMER SUBSUB TYPE
	%CNOCR==113,,11	;FIRST CDR DDB,,OFFSET TO CARD COUNT
	%CNOCP==114,,11	;DITTO FOR CDP
	%CNPGS==115,,11	;UNIT OF CORE ALLOCATION
	%CNMMX==116,,11	;MINIMUM LEGAL CORMAX
	%CNNSC==117,,11	;NUMBER OF SCHEDULER CLASSES
	%CNUTF==120,,11	;EXPONENTIAL USER TIME FACTOR
	%CNHSO==121,,11	;START OF MONITORS HISEG
	%CNHSL==122,,11	;LENGTH OF MONITORS HISEG
	%CNNWC==123,,11	;NUMBER OF WORDS OF CORE

.GTNSW==12	;NON-SWAPPING DATA TABLE
	%NSCMX==10,,12	;SYSTEM CORMAX (LARGEST USER JOB+1)
	%NSCLS==11,,12	;BYTE POINTER TO LAST FREE CORE AREA
	%NSCTL==12,,12	;VIRTUAL CORE TALLY
	%NSSHW==13,,12	;JOB NUMBER STOPPED BY SHUFFLER
	%NSHLF==14,,12	;ADDRESS OF LOWEST HOLE IN SYSTEM
	%NSUPT==15,,12	;UPTIME (TICKS)
	%NSSHF==16,,12	;WORDS SHUFFLED BY SYSTEM
	%NSSTU==17,,12	;SYSTEM TAPE USER
	%NSHJB==20,,12	;HIGHEST JOB NUMBER IN USE
	%NSCLW==21,,12	;WORDS CLEARED BY SYSTEM
	%NSLST==22,,12	;LOST TIME
	%NSMMS==23,,12	;MEMORY SIZE
	%NSTPE==24,,12	;TOTAL MEMEORY PARITY ERRORS
	%NSSPE==25,,12	;SPURIOUS MEMORY PARITY ERRORS
	%NSMPC==26,,12	;MULTIPLE MEMORY PARITY ERRORS
	%NSMPA==27,,12	;LAST MEMORY PARITY ADDRESS
	%NSMPW==30,,12	;LAST MEMORY PARITY WORD
	%NSMPP==31,,12	;LAST MEMORY PARITY PC
	%NSEPO==32,,12	;NUMBER OF EXEC PDL OVERFLOWS NOT RECOVERED
	%NSEPR==33,,12	;NUMBER OF EXEC PDL OVERFLOWS RECOVERED
	%NSMXM==34,,12	;MAX VALUE OF CORMAX
	%NSKTM==35,,12	;KSYS TIMER
	%NSCMN==36,,12	;CORMIN
	%NSABC==37,,12	;COUNT OF ADDRESS BREAKS
	%NSABA==40,,12	;ADDRESS OF ADDRESS BREAKS
	%NSLJR==41,,12	;LAST JOB RUN
	%NSACR==42,,12	;ACCUMULATED CPU RESPONSE
	%NSNCR==43,,12	;NUMBER OF CPU RESPONSES
	%NSSCR==44,,12	;ACCUMULATED SQUARE OF CPU RESPONSE
		;*** NO MORE GROWTH--SEE .GTC0V
.GTSDT==13	;SWAPPING DATA TABLE
	%SWBGH==0,,13	;BIG HOLE
	%SWFIN==1,,13	;FINISH
	%SWFRC==2,,13	;FORCE
	%SWFIT==3,,13	;FIT
	%SWVRT==4,,13	;VIRTAL
	%SWERC==5,,13	;SWAP ERROR COUNT
	%SWPIN==6,,13	;-1 IF SWAP IN AND FTPDBS=1
.GTSGN==14	;SEGMENT NUMBERS
	SN%SHR==1←34.	;SHARABLE SEGMENT
	SN%LOK==1←30.	;HIGH SEGMENT IS LOCKED
.GTODP==15	;ONCE ONLY DISK PARAMETERS
	%ODSWP==0,,15	;HIGHEST SWAPPING IN 4-SERIES
	%ODK4S==1,,15	;K FOR SWAPPING
	%ODPRT==2,,15	;IN CORE PROTECT TIME MULTIPLIER
	%ODPRA==3,,15	;IN CORE PROTECT TIME OFFSET
.GTLVD==16	;LEVEL-D PARAMETERS
	%LDMFD==0,,16	;MFD PPN [1,1]
	%LDSYS==1,,16	;SYS PPN [1,4]
	%LDFFA==2,,16	;FULL FILE ACCESS PPN [1,2]
	%LDHLP==3,,16	;UNLOGGED IN PPN [2,5]
	%LDQUE==4,,16	;QUE AREA PPN [3,3]
	%LDSPB==5,,16	;FIRST PPB,,NEXT PPB TO SCAN
	%LDSTR==6,,16	;FIRST STR DATA BLOCK,,OFFSET TO NEXT
	%LDUNI==7,,16	;FIRST UNIT DATA BLOCK,,OFFSET TO NEXT
	%LDSWP==10,,16	;FIRST SWAP UNIT,,OFFSET TO NEXT
	%LDCRN==11,,16	;NUMBER OF CORE BLOCKS
	%LDSTP==12,,16	;STANDARD FILE PROTECTION
	%LDUFP==13,,16	;STANDARD UFD PROTECTION
	%LDMBN==14,,16	;NUMBER OF MONITOR BUFFERS
	%LDQUS==15,,16	;QUE STRUCTURE NAME
	%LDCRP==16,,16	;CRASH PPN [10,1]
	%LDSFD==17,,16	;MAX DEPTH OF SFDS TO WRITE
	%LDSPP==20,,16	;SPOOLED FILE PROTECTION
	%LDSYP==21,,16	;STANDARD SYS: PROTECTION
	%LDSSP==22,,16	;STANDARD SYS:.SYS PROTECTION
	%LDMNU==23,,16	;MAX. NEGATIVE USETI WHICH READS EXTENDED RIBS
	%LDMXT==24,,16	;MAX. BLOCKS TO TRANSFER
	%LDNEW==25,,16	;EXPERIMENTAL SYS PPN [1,5]
	%LDOLD==26,,16	;OLD SYS PPN [1,3]
	%LDUMD==27,,16	;USER MODE DIAGNOSTICS PPN [6,6]
	%LDNDB==30,,16	;DEFAULT DISK BUFFERS IN RING
	%LDMSL==31,,16	;MAX UNITS IN A.S.L.
	%LDALG==32,,16	;ALGOL LIBRARY PPN [5,4]
	%LDBLI==33,,16	;BLISS LIBRARY PPN [5,5]
	%LDFOR==34,,16	;FORTRAN LIBRARY PPN [5,6]
	%LDMAC==35,,16	;MACRO LIBRARY PPN (SOURCE NOT UNIVERSALS) [5,7]
	%LDUNV==36,,16	;UNIVERSAL LIBRARY PPN [5,17]
	%LDPUB==37,,16	;PUBLIC USER SOFTWARE LIBRARY PPN [1,6]
		;CONTINUE .GTLVD
	%LDTED==40,,16	;TEXT EDITOR LIBRARY PPN [5,10]
	%LDREL==41,,16	;REL FILE LIBRARY PPN [5,11]
	%LDRNO==42,,16	;RUNOFF LIBRARY PPN [5,12]
	%LDSNO==43,,16	;SNOBOL LIBRARY PPN [5,13]
	%LDDOC==44,,16	;DOC FILE LIBRARY PPN [5,14]
	%LDFAI==45,,16	;FAIL LIBRARY PPN [5,15]
	%LDMUS==46,,16	;MUSIC LIBRARY PPN [5,16]
	%LDDEC==47,,16	;STANDARD DEC SOFTWARE [10,7]
	%LDSLP==50,,16	;POINTER TO ACTIVE SWAP LIST
	%LDBAS==51,,16	;BASIC LIB PPN [5,1]
	%LDCOB==52,,16	;COBOL LIB PPN [5,2]
	%LDMXI==53,,16	;PDP-11 LIB PPN [5,3]
	%LDNEL==54,,16	;NELIAC LIB PPN [5,20]
	%LDDMP==55,,16	;DUMP PPN [5,21]
	%LDPOP==56,,16	;POP2 LIB PPN [5,22]
	%LDTST==57,,16	;TEST LIB PPN [5,23]
	%LDLSO==60,,16	;LOG SOFT OVERRUNS (CALL DAEMON) IF OVERRUN
			; IS RECOVERED ON 1 RETRY AND %LDLSO .NE. 0
	%LDMBR==61,,16	;MASS-BUSS REG. LH=OFFSET INTO KDB OF # OF
			; REGISTER. RH=OFFSET INTO UDB OF REGS.
	%LDBBP==62,,16	;LH=POINTER TO BYTE POINTER TO # LEFT IN BAT
			;RH=OFFSET (IN UDB) OF CHAN TERM FAIL CNT
.GTRCT==17	;DISK BLOCKS READ
.GTWCT==20	;DISK BLOCKS WRITTEN
.GTDBS==21	;DISK BLOCK SECONDS
.GTTDB==22	;TIME OF LAST ALLOCATE AND SIZE
.GTSLF==23	;GETTAB IMMEDIATE (SELF)
.GTDEV==24	;DEVICE OR STRUCTURE (SEGMENTS ONLY)
.GTWSN==25	;NAMES OF WAIT STATES
.GTLOC==26	;REMOTE STATION NUMBER
.GTCOR==27	;CORE TABLE
.GTCOM==30	;MONITOR COMMAND NAMES
.GTNM1==31	;USER NAME
.GTNM2==32	; ..
.GTCNO==33	;CHARGE NUMBER
.GTTMP==34	;TMPCOR POINTERS
.GTWCH==35	;WATCH BITS
	JW.WDY==1←34.	;DAYTIME AT START
	JW.WRN==1←33.	;RUN TIME
	JW.WWT==1←32.	;WAIT TIME
	JW.WDR==1←31.	;DISK READS
	JW.WDW==1←30.	;DISK WRITES
	JW.WVR==1←29.	;VERSIONS
	JW.WMT==1←28.	;MTA STATISTICS
	JW.WAL==376←27.	;WATCH ALL
	JW.WMS==7←24.	;/MESSAGE LEVEL
		.JWWPR==1	;PREFIX
		.JWWOL==2	;ONE LINE
		.JWWPO==3	;PRIFIX,FIRST
		.JWWLG==6	;LONG, NO PREFIX
		.JWWPL==7	;PREFIX AND LONG
	JW.WCN==1←26.	;/MESSAGE:CONTINUATION
	JW.WFL==1←25.	;/MESSAGE:FIRST
	JW.WPR==1←24.	;/MESSAGE:PREFIX
.GTSPL==36	;SPOOLING CONTROL
	JS.PRI==7←9.	;DISK PRIORITY
	JS.DFR==1←8.	;DEFERED SPOOLING (MPB-I STYLE)
	JS.PCR==1←4.	;SPOOL CDR
	JS.PCP==1←3.	;SPOOL CDP
	JS.PPT==1←2.	;SPOOL PTP
	JS.PPL==1←1.	;SPOOL PLT
	JS.PLP==1←0.	;SPOOL LPT
	JS.PAL==37	;SPOOL ALL
.GTRTD==37	;REAL TIME STATUS
.GTLIM==40	;TIME AND BATCH STATUS
	JB.LCR==777←26.	;CORE LIMIT
	JB.LBT==1←25.	;BATCH JOB
	JB.LSY==1←24.	;GOTTEN FROM SYS:
	JB.LTM==77777777  ;TIME LIMIT TO GO IN JIFFIES
.GTQQQ==41	;SCHEDULING QUEUE HEADERS
.GTQJB==42	;JOB QUEUE LINK
.GTCM2==43	;MONITOR SET COMMAND NAMES
.GTCRS==44	;HARDWARE STATUS FROM CRASH
	CR.SAP==0,,44	;APR CONI
	CR.SPI==1,,44	;PI CONI
	CR.SSW==2,,44	;APR DATAI (SWITCHES)
.GTISC==45	;SWAP IN SCAN TABLES
.GTOSC==46	;SWAP OUT SCAN
.GTSSC==47	;SCHEDULER SCAN
.GTRSP==50	;RESPONSE COUNTER TABLE
.GTSYS==51	;SYSTEM WIDE DATA
	%SYERR==0,,51	;SYSTEM WIDE HARDWARE ERROR COUNT
	%SYCCO==1,,51	;NUMBER OF TIMES COMCNT WAS OFF
	%SYDEL==2,,51	;DISABLED HARDWARE ERROR COUNT
	%SYSPC==3,,51	;LH=3 LETTER CODE OF LAST STOPCD,RH=ADDRESS+1 OF LAST STOPCD
	%SYNDS==4,,51	;NUMBER OF DEBUG STOPCDS
	%SYNJS==5,,51	;NUMBER OF JOB STOPCDS (INCLUDING DEBUG
			; STOPCD'S IF A JOB IS STOPPED)
	%SYNCP==6,,51	;NUMBER OF COMMANDS PROCESSED
	%SYSJN==7,,51	;LAST STOPCD--JOB NUMBER
	%SYSTN==10,,51	;LAST STOPCD--TTY NAME
	%SYSPN==11,,51	;LAST STOPCD--PROGRAM NAME
	%SYSUU==12,,51	;LAST STOPCD--UUO
	%SYSUP==13,,51	;LAST STOPCD--USER PC
	%SYSPP==14,,51	;LAST STOPCD--USER PPN
.GTWHY==52	;OPERATOR WHY COMMENTS IN ASCIZ
.GTTRQ==53	;TOTAL TIME IN RUN QUEUES WHETHER OR NOT RUNNING
.GTSPS==54	;SECOND PROCESSOR STATUS
	SP.SC0==1←6.	;SET CPU COMMAND (OK TO USE)
	SP.CR0==1←0.	;SET CPU UUO (OK TO USE)
		;OTHERS BY SHIFTING LEFT 1 BIT/PROCESSOR
.GTC0C==55	;CPU0 CDB CONSTANTS
.GTC0V==56	;CPU0 CDB VARIABLES
.GTC1C==57	;CPU1 CDB CONSTANTS
.GTC1V==60	;CPU1 CDB VARIABLES
.GTC2C==61	;CPU2 CDB CONSTANTS
.GTC2V==62	;CPU2 CDB VARIABLES
.GTC3C==63	;CPU3 CDB CONSTANTS
.GTC3V==64	;CPU3 CDB VARIABLES
.GTC4C==65	;CPU4 CDB CONSTANTS
.GTC4V==66	;CPU4 CDB VARIABLES
.GTC5C==67	;CPU5 CDB CONSTANTS
.GTC5V==70	;CPU5 CDB VARIABLES
	%CCPTR==0,,55	;LH=POINTER TO NEXT CDB
	%CCSER==1,,55	;APR SERIAL NUMBER
	%CCOKP==2,,55	;CPU OK IF LE 0, JIFFIES DEAD IF GT 0
	%CCTOS==3,,55	;TRAP OFFSET FOR KA10 INTERRUPT LOCATIONS
	%CCLOG==4,,55	;LOGICAL NAME (CPUN)
	%CCPHY==5,,55	;PHYSICAL NAME (CPXN)
	%CCTYP==6,,55	;TYPE OF PROCESSOR (LH-DEC, RH-CUST)
		.CC166==1	;PDP-6
		.CCKAX==2	;KA-10
		.CCKIX==3	;KI-10
		.CCKLX==4	;KL-10
	%CCMPT==7,,55	;REL. GETTAB POINTER TO BAD ADDRESS TABLE
	%CCRTC==10,,55	;REAL TIME CLOCK (DK10) DDB
	%CCRTD==11,,55	;REAL TIME CLOCK DDB IF HI PREC. TIME ACCT.
	%CCPAR==12,,55	;REL. GETTAB POINTER TO PARITY SUMMARY
	%CCRSP==13,,55	;REL. GETTAB POINTER TO RESPONSE SUMMARY
	%CCDKX==14,,55	;NUMBER OF DK10'S ON THIS CPU
	%CCEBS==15,,55	;NUMBER OF EBOX TICKS PER SECOND ON KL10
	%CCMBS==16,,55	;NUMBER OF MBOX TICKS PER SECOND ON KL10
	%CVUPT==5,,56	;UPTIME
	%CVLST==12,,56	;LOST TIME
	%CVTPE==14,,56	;TOTAL MEMORY PARITY ERRORS
	%CVSPE==15,,56	;SPURIOUS MEMORY PARITY ERRORS
	%CVMPC==16,,56	;MULTIPLE MEMORY PARITY ERRORS
	%CVMPA==17,,56	;MEMORY PARITY ADDRESS
	%CVMPW==20,,56	;MEMORY PARITY WORD
	%CVMPP==21,,56	;MEMORY PARITY PC
		;HOLES ABOVE HERE BECAUSE OF .GTNSW COMPATABILITY
	%CVABC==27,,56	;ADDRESS BREAK COUNT
	%CVABA==30,,56	;ADDRESS BREAK ADDRESS
	%CVLJR==31,,56	;LAST JOB RUN
			;(OBSOLETE)
	%CVSTS==35,,56	;STOP TIME-SHARING THIS CPU
	%CVRUN==36,,56	;OPERATOR CONTROLLED SCHEDULING
		CV%RUN==1←35.	;DON'T RUN JOBS
	%CVNUL==37,,56	;NULL TIME
	%CVEDI==40,,56	;LH=PC,RH=COUNT OF EXEC DON'T CARE INTERRUPTS.
	%CVJOB==41,,56	;CURRENT JOB
	%CVOHT==42,,56	;OVERHEAD TIME IN JIFFIES (EXC. UUOS)
	%CVEVM==43,,56	;MAX EVM FOR LOCK UUO MAPPING
	%CVEVU==44,,56	;USED EVM FOR LOCK UUO MAPPING
	%CVLLC==45,,56	;LOCK LOOP COUNT
	%CVTUC==46,,56	;TOTAL UUO COUNT
	%CVTJC==47,,56	;TOTAL JOB CONTEXT SWITCH COUNT
	%CVTNE==50,,56	;TOTAL NXM ERRORS
	%CVSNE==51,,56	;TOTAL NON-REPRODUCIBLE NXM ERRORS
	%CVNJA==52,,56	;NUMBER OF JOBS AFFECTED BY THIS NXM
	%CVMNA==53,,56	;FIRST MEMORY ADDRESS WITH NXM
	%CVETJ==54,,56	;EBOX TICKS PER JIFFY (COMPUTED)
	%CVNTJ==54,,56	;MBOX TICKS PER JIFFY (COMPUTED BY ONCE)
	%CVRSO==0	;(REL.) SUM TTY OUT UUO RESPONSE
	%CVRNO==1	;(REL.) NUMBER TTY OUT UUO RESPONSE
	%CVRHO==2	;(REL.) HI-SUM SQ TTY OUT UUO RESPONSE
	%CVRLO==3	;(REL.) LO-SUM SQ TTY OUT UUO RESPONSE
	%CVRSI==4	;(REL.) SUM TTY INP UUO RESPONSE
	%CVRNI==5	;(REL.) NUMBER TTY INP UUO RESPONSE
	%CVRHI==6	;(REL.) HI-SUM SQ TTY INP UUO RESPONSE
	%CVRLI==7	;(REL.) LO-SUM SQ TTY INP UUO RESPONSE
	%CVRSR==10	;(REL.) SUM QUANTUM REQ RESPONSE
	%CVRNR==11	;(REL.) NUMBER QUANTUM REQ RESPONSE
	%CVRHR==12	;(REL.) HI-SUM SQ QUANTUM REQ RESPONSE
	%CVRLR==13	;(REL.) LO-SUM SQ QUANTUM REQ RESPONSE
	%CVRSX==14	;(REL.) SUM ONE OF ABOVE RESPONSE
	%CVRNX==15	;(REL.) NUMBER ONE OF ABOVE RESPONSE
	%CVRHX==16	;(REL.) HI-SUM SQ ONE OF ABOVE RESPONSE
	%CVRLX==17	;(REL.) LO-SUM SQ ONE OF ABOVE RESPONSE
	%CVRSC==20	;(REL.) SUM CPU RESPONSE
	%CVRNC==21	;(REL.) NUMBER CPU RESPONSE
	%CVRHC==22	;(REL.) HI-SUM SQ CPU RESPONSE
	%CVRLC==23	;(REL.) LO-SUM SQ CPU RESPONSE
	%CVPLA==0	;(REL.) HIGHEST ADDRESS OF PARITY ERROR
	%CVPMR==1	;(REL.) ADDRESS IN SEGMENT OF PARITY ERROR
	%CVPTS==2	;(REL.) NUMBER OF PARITIES THIS SWEEP
	%CVPSC==3	;(REL.) NUMBER OF PARITY SWEEPS
	%CVPUE==4	;(REL.) NUMBER OF USER ENABLED PARITY ERRORS
	%CVPAA==5	;(REL.) AND OF BAD ADDRESS THIS SWEEP
	%CVPAC==6	;(REL.) AND OF BAD CONTENTS THIS SWEEP
	%CVPOA==7	;(REL.) IOR OF BAD ADDRESS THIS SWEEP
	%CVPOC==10	;(REL.) IOR OF BAD CONTENTS THIS SWEEP
	%CVPCS==11	;(REL.) NUMBER OF SPURIOUS CHANNEL ERRORS
.GTFET==71	;FEATURE TEST SETTINGS
	%FTUUO==0,,71	;UUOS
		F%EQDQ==0,,1←13.	;ENQ./DEQ.
		F%GALA==0,,1←12.	;GALAXY-10 FEATURES
		F%PI==000,,1←11.	;SOFT. PI SYS
		F%IPCF==0,,1←10.	;IPCF
		F%CCIN==0,,1←9.	;CONTROL-C INTERCEPT
		F%PTYU==0,,1←8.	;JOBSTS AND CNTLJOB UUOS
		F%PEEK==0,,1←7.	;PEEK UUO
		F%POKE==0,,1←6.	;POKE. UUO
		F%JCON==0,,1←5.	;JOB CONTINUE
		F%SPL==00,,1←4.	;SPOOLING
		F%PRV==00,,1←3.	;JOB PRIVS
		F%DAEM==0,,1←2.	;DAEMON FUNCTIONS, ETC.
		F%GETT==0,,1←1.	;GETTAB UUO
		F%2REL==0,,1←0.	;2-REGISTER RELOCATION
	%FTRTS==1,,71	;REAL TIME AND SCHEDULER
		F%NSCH==1,,1←10.	;NEW SCHEDULER
		F%VM==001,,1←9.	;VIRTUAL MEMORY
		F%SWAP==1,,1←8.	;SWAPPER (DEFINED IN S)
		F%SHFL==1,,1←7.	;SHUFFLER
		F%RTC==01,,1←6.	;DK10 SERVICE
		F%LOCK==1,,1←5.	;LOCK UUO
		F%TRPS==1,,1←4.	;TRPSET UUO
		F%RTTR==1,,1←3.	;RTTRAP UUO
		F%SLEE==1,,1←2.	;SLEEP UUO
		F%HIBW==1,,1←1.	;HIBER/WAKE UUOS
		F%HPQ==01,,1←0.	;HIGH PRIORITY RUN QUEUES
	%FTCOM==2,,71	;COMMANDS
		F%EXE==02,,1←15.	;.EXE FORMAT FILES SUPPORTED
		F%MOFF==2,,1←14.	;SET MEMORY OFF LINE
		F%MONL==2,,1←13.	;SET MEMORY ON LINE
		F%CCL==02,,1←12.	;COMPIL COMMANDS (DEFINED IN S)
		F%CCLX==2,,1←11.	;COMPIL-CLASS
		F%QCOM==2,,1←10.	;QUEUE AND FRIENDS
		F%SET==02,,1←9.	;SET UUO/COMMAND
		F%VERS==2,,1←8.	;VERSION
		F%BCOM==2,,1←7.	;BATCH CONTROL FILE
		F%SEDA==2,,1←6.	;SET DAYTIME AND SET DATE
		F%WATC==2,,1←5.	;WATCH
		F%FINI==2,,1←4.	;FINISH AND CLOSE
		F%REAS==2,,1←3.	;REASSIGN UUO/COMMAND
		F%EXAM==2,,1←2.	;E AND D
		F%TALK==2,,1←1.	;SEND
		F%ATTA==2,,1←0.	;ATTACH COMMAND/UUO
	%FTACC==3,,71	;ACCOUNTING INFO
		F%TLIM==3,,1←4.	;TIME/CORE LIMITS, ETC.
		F%CNO==03,,1←3.	;CHARGE NUMBER
		F%UNAM==3,,1←2.	;USER NAME
		F%KCT==03,,1←1.	;KILO-CORE-TICKS
		F%TIME==3,,1←0.	;RUN TIME
	%FTERR==4,,71	;ERROR CONTROL AND OPTIONS
		F%MNXM==4,,1←13.	;NXM ERROR RECOVERY CODE
		F%KL10==4,,1←12.	;THIS IS A KL10
		F%KA10==4,,1←11.	;THIS IS A KA10
		F%22BI==4,,1←10.	;22 BIT CHANNEL (DF10C)
		F%PDBS==4,,1←9.	;SWAPPING PDB
		F%KI10==4,,1←8.	;THIS IS A KI10
		F%METR==4,,1←7.	;METER. UUO
		F%EXON==4,,1←6.	;EXECUTE ONLY FILES (ALWAYS 1 SINCE 5.06)
		F%KII==04,,1←5.	;KI-10 INSTR CHECK ON KA10
		F%BOOT==4,,1←4.	;BOOTS BOOTSTRAP
		F%2SWP==4,,1←3.	;MULT. SWAPPING DEVICES
		F%EL==004,,1←2.	;DAEMON ERROR LOGGING
		F%MS==004,,1←1.	;MULTI-PROCESSORS
		F%MEMP==4,,1←0.	;MEMORY PARITY RECOVERY CODE
	%FTDEB==5,,71	;DEBUGGING FEATURES
		F%2SEG==5,,1←8.	;2 SEGMENT MONITOR
		F%RSP==05,,1←7.	;RESPONSE TIME
		F%WHY==05,,1←6.	;WHY RELOAD
		F%PATT==5,,1←5.	;PATCH SPACE IN TABLES
		F%TRAC==5,,1←4.	;BACK TRACKING FEATURES
		F%HALT==5,,1←3.	;HALTS IN MONITOR
		F%RCHK==5,,1←2.	;INTERNAL REDUNDANCY CHECKS
		F%MONP==5,,1←1.	;MONITOR WRITE PROTECTED
		F%CHEC==5,,1←0.	;MONITOR CHECKSUMMED
	%FTSTR==6,,71	;FILE STRUCTURE PARAMS
		F%DHIA==6,,1←16.	;HIGH AVAIL. FEATURES
		F%DSIM==6,,1←15.	;MULTI. ACCESS UPDATE
		F%NUL==06,,1←14.	;NUL
		F%LIB==06,,1←13.	;LIB/SYS/OLD/NEW ETC.
		F%DPRI==6,,1←12.	;DISK PRIORITY TRANSFERS
		F%APLB==6,,1←11.	;APPEND TO LAST BLOCK
		F%AIR==06,,1←10.	;APPEND IMPLIES READ
		F%GSRC==6,,1←9.	;GENERIC DEVICE SEARCH
		F%DRDR==6,,1←8.	;RENAME ACROSS DIRECTORIES
		F%DSEK==6,,1←7.	;SEEK UUO
		F%DSUP==6,,1←6.	;SUPER USETI/O
		F%DQTA==6,,1←5.	;DISK QUOTAS
		F%STR==06,,1←4.	;MULTIPLE STRUCTURES
		F%5UUO==6,,1←3.	;MISC. 5-SERIES UUOS
		F%PHYO==6,,1←2.	;PHYSICAL ONLY
		F%SFD==06,,1←1.	;SUB FILE DIRECTORIES
		F%MOUN==6,,1←0.	;STRUUO FUNCTIONS
	%FTDSK==7,,71	;INTERNAL DISK PARAMS
		F%RP04==7,,1←17.	;INCLUDE RP04 SUPPORT
		F%SLCK==7,,1←16.	;DEBUG SEARCH LIST CODE
		F%2ATB==7,,1←15.	;2 PART ACCESS BLOCKS
		F%CBDB==7,,1←14.	;DEBUG CB INTERLOCK
		F%LOGI==7,,1←13.	;LOGIN (DEFINED IN S)
		F%DISK==7,,1←12.	;DISK SYSTEM (DEFINED IN S)
		F%FFRE==7,,1←11.	;PREVENT RACES IN FILFND
		F%SWPE==7,,1←10.	;SWAP READ ERROR RECOVERY
		F%DBBK==7,,1←9.	;BAD BLOCK MARKING
		F%DUFC==7,,1←8.	;UFD COMPRESSOR
		F%DETS==7,,1←7.	;DISK ERROR SIMULATOR
		F%DMRB==7,,1←6.	;MULTI RIBS
		F%DSMC==7,,1←5.	;SMALLER ALLOC. OF DISK CORE BLOCKS
		F%DALC==7,,1←4.	;ALLOCATION OPTIMISATIONS
		F%DSTT==7,,1←3.	;DISK USAGE STATISTICS
		F%DHNG==7,,1←2.	;HUNG DISK RECOVERY
		F%DBAD==7,,1←1.	;DISK OFF-LINE RECOVERY
		F%DOPT==7,,1←0.	;LATENCY OPTIMIZATION
	%FTSCN==10,,71	;SCANNER OPTIONS
		F%DCXH==10,,1←13.;DC10-H (2741 ON DC10) SUPPORTED
		F%TVP==010,,1←12.;FANCY VERTICAL POSITIONING
		F%TYPE==10,,1←11.;TYPESET-10 FEATURES IN DC76
		F%2741==10,,1←10.;SUPPORT 2741-LIKE TERMINALS
		F%CAFE==10,,1←9.;DC76
		F%TBLK==10,,1←8.;TTY BLANK COMMAND
		F%TPAG==10,,1←7.;PAGE AND DISPLAY KNOWLEDGE
		F%DIAL==10,,1←6.;AUTO DIALER
		F%SCLC==10,,1←5.;SPECIAL LINE CONTROL
		F%SCNR==10,,1←4.;HARDWARE SCANER
		F%MODM==10,,1←3.;MODEM CONTROL
		F%630H==10,,1←2.;SINGLE SCANNER 630
		F%GPO2==10,,1←1.;U.K. MODEM SUPPORT
		F%HDPX==10,,1←0.;TRULY HALF DUPLEX TERMINALS
	%FTPER==11,,71	;I/O PARAMS
		F%RDBA==11,,1←16.;READ BACKWARDS ON TU70
		F%TLAB==11,,1←15.;TAPE LABEL SUPPORT
		F%TAPO==11,,1←14.;TAPOP. UUO
		F%TASK==11,,1←13.;TASK TO TASK NETWORK SUPPORT
		F%DAS7==11,,1←12.;DAS78 (REMOTE 360/370/2780) SUPPORT
		F%XTC==011,,1←11.;DA28-C NETWORK SUPPORT
		F%MSGS==11,,1←10.;MSGSER (MPX DEVICE)
		F%HSLN==11,,1←9.;HIGH-SPEED LOGICAL DEVICE SEARCH
		F%CPTR==11,,1←8.;CDP TROUBLE INTERCEPT
		F%CRTR==11,,1←7.;CDR TROUBLE INTERCEPT
		F%CTY1==11,,1←6.;SUPPORT CTY1
		F%REM==011,,1←5.;REMOTE STATION SOFTWARE
		F%LPTR==11,,1←4.;LPT DEVICE ERROR RECOVERY
		F%OPRE==11,,1←3.;DEVICE ERRS TO OPER
		F%CDRS==11,,1←2.;CDR SUPER IMAGE MODE
		F%MTSE==11,,1←1.;MTA DENSITY/BLOCK COMMANDS
		F%TMP==011,,1←0.;TMPCOR AREA
.GTEDN==72	;ERSATZ DEVICE NAMES
.GTSCN==73	;SCANNER DATA
	%SCNRI==0,,73	;NUMBER OF RCV INTERRUPTS
	%SCNXI==1,,73	;NUMBER OF XMT INTERRUPTS
	%SCNEI==2,,73	;NUMBER OF ECHO INTERRUPTS (IN XI)
	%SCNMB==3,,73	;MAX BUFFER SIZE
	%SCNAL==4,,73	;NUMBER OF ACTIVE LINES
	%SCNPS==5,,73	;SIZE OF BUFFER FOR PIM MODE
	%SCNRA==6,,73	;ADDRESS OF RECINT
	%SCNXA==7,,73	;ADDRESS OF XMTINT
	%SCNTA==10,,73	;ADDRESS OF TYPE
.GTSNA==74	;LAST SEND ALL IN 9-BIT
	%SCNAE==0,,74	;BYTE POINTER TO END BYTE IN MESSAGE
	%SCNAS==1,,74	;BYTE POINTER TO FIRST-1 BYTE IN MESSAGE
	%SCNAM==2,,74	;FIRST WORD OF DATA IN MESSAGE
.GTCMT==75	;SET TTY COMMAND NAMES
.GTPID==76	;PROCESS COMMUNICATION ID (IPCF)
.GTIPC==77	;IPCF MISC. DATA
	%IPCML==0,,77	;MAX. PACKET LENGTH
	%IPCSI==1,,77	;PID OF SYSTEM-WIDE [SYSTEM]INFO
	%IPCDQ==2,,77	;DEFAULT QUOTA
	%IPCTS==3,,77	;TOTAL PACKETS SENT
	%IPCTO==4,,77	;TOTAL PACKETS OUTSTANDING
	%IPCCP==5,,77	;PID OF [SYSTEM]IPCC
	%IPCPM==6,,77	;PID MASK
	%IPCMP==7,,77	;LENGTH OF PID TABLE
	%IPCNP==10,,77	;NUMBER OF PID'S NOW DEFINED
	%IPCTP==11,,77	;TOTAL PID'S DEFINED SINCE RELOAD
.GTUPM==100	;USER PAGE MAP PAGE
.GTCMW==101	;SET WATCH COMMAND NAMES
.GTCVL==102	;CURRENT VIRT LIMIT,,CURRENT PHY LIMIT
.GTMVL==103	;MAXIMUM VIRT LIMIT,,MAXIMUM PHY LIMIT
.GTIPA==104	;IPCF STATISTICS PER JOB
	IP.CQD==-1,,0	;COUNT OF SENDS SINCE LOGIN
	IP.CQC==0,,-1	;COUNT OF RECEIVES SINCE LOGIN
.GTIPP==105	;IPCF POINTERS AND COUNTS
	IP.CQP==777←9.	;OUTSTANDING SENDS
	IP.CQO==777	;OUTSTANDING RECEIVES
.GTIPI==106	;PID FOR THIS JOB'S [SYSTEM]INFO
.GTIPQ==107	;IPCF FLAGS AND QUOTAS PER JOB
	IP.CQX==1←35.	;DISABLED
	IP.CQQ==1←34.	;QUOTA SET
	IP.CQS==777←9.	;SEND QUOTA
	IP.CQR==777	;RECEIVE QUOTA
.GTDVL==110	;POINTER TO THIS JOB'S LOGICAL NAME TABLE
.GTABS==111	;ADDRESS BREAK WORD (DATAO PTR,)
.GTCMP==112	;RESERVED FOR COMPATABILITY PACKAGES
	%CMPMT==0,,112	;SIMULATED MONITOR TYPE (%CNMNT)
	%CMPCV==1,,112	;CUSTOMER VERSION OF COMPAT. (136)
	%CMPDV==2,,112	;DEC VERSION OF COMPAT. (137)
.GTVM==113	;GENERAL VIRTUAL MEMORY DATA
	%VMSWP==0,,113	;SWAP COUNT
	%VMSCN==1,,113	;SCAN COUNT
	%VMSIP==2,,113	;SWAPS IN PROGRESS
	%VMSLE==3,,113	;SWAP LIST ENTRIES
	%VMTTL==4,,113	;TOTAL VM IN USE
	%VMCMX==5,,113	;MAX VALUE OF %VMTTL ALLOWED
	%VMRMX==6,,113	;PAGING RATE MAX FOR SYSTEM
	%VMCON==7,,113	;CONSTANT USED IN SWAP RATE COMPUTATION
	%VMQJB==10,,113	;JOB TO REQUE TO PQV (-1 IF ALL)
	%VMRMJ==11,,113	;PAGING RATE MAX PER JOB
	%VMTLF==12,,113	;TIME OF LAST FAULT
	%VMSPF==13,,113	;SYSTEM PAGE FAULT COUNTS: NOT IN WS,,IN WS
	%VMSW1==14,,113	;ADDRESS OF SWPLST
	%VMSW2==15,,113	;ADDRESS OF SW2LST
	%VMSW3==16,,113	;ADDRESS OF SW3LST
.GTVRT==114	;PER JOB PAGING RATE
.GTSST==115	;SCHEDULER STATISTICS
	%SSOSO==0,,115	;NUMBER OF JOBS RUN OUT OF ORDER TO ALLOW
		; THEM TO GIVE UP RESOURCE FOR SWAP OUT.
	%SSORJ==1,,115	;NUMBER OF JOBS RUN OUT OF ORDER TO ALLOW
		; THEM TO GIVE UP RESOURCE REQUIRED TO RUN A JOB
	%SSNUL==2,,115	;SWAPPER NULL TIME
	%SSLOS==3,,115	;SWAPPER LOST TIME
	%SSRQC==4,,115	;TOTAL NUMBER OF REQUEUES 
	%SSICM==5,,115	;INTERVAL TO COMPUTE MCU
	%SSMSI==6,,115	;MEDIUM TERM SCHEDULING INTERVAL
	%SSAJS==7,,115	;AVERAGE JOB SIZE
	%SSTQT==10,,115	;TOTAL QUOTA TIME
	%SSEAF==11,,115	;EXPONENTIAL AVERAGING FACTOR
	%SSEAT==12,,115	;EXPONENTIALY AVERAGED USER TIME
	%SSRSS==13,,115	;TOTAL USER RUNTIME SINCE SCHED. UUO
			; SET CLASS PARAMETERS
.GTDCF==116	;DESIRED CHAN. USE FRACTION (INDEX BY CHAN)
.GTST2==117	;SECOND JOB STATUS WORD
.GTJTC==120	;JOB TYPE AND SCHEDULER CLASS
.GTCQP==121	;CLASS QUOTA IN PERCENT (INDEX BY CLASS)
.GTCQJ==122	;CLASS QUOTA IN JIFFIES (INDEX BY CLASS)
.GTCRT==123	;CLASS RUNTIME SINCE QUOTAS SET (INDEX BY CLASS)
.GTSQH==124	;SUB QUEUE HEADERS
.GTSQ==125	;SUB QUEUE WORD FOR EACH JOB
.GTSID==126	;SPECIAL PID TABLE
	%SIIPC==0,,126	;[SYSTEM]IPCC
	%SIINF==1,,126	;[SYSTEM]INFO
	%SIQSR==2,,126	;[SYSTEM]QUASAR
	%SIMDA==3,,126	;MOUNTABLE DEVICE ALLOCATOR
	%SITLP==4,,126	;MAGTAPE LABELING PROCESS
.GTENQ==127		;ENQ./DEQ. STATISTICS
	%EQMSS==0,,127	;MAXIMUM STRING SIZE
	%EQNAQ==1,,127	;NUMBER OF ACTIVE QUEUES
	%EQESR==2,,127	;TOTAL ENQ. SINCE RELOAD
	%EQDSR==3,,127	;TOTAL DEQ. SINCE RELOAD
	%EQAPR==4,,127	;ACTIVE POOLED RESOURCES
	%EQDEQ==5,,127	;DEFAULT ENQ. QUOTA
.GTJLT==130		;JOB LOGIN TIME IN UNIVERSAL FORMAT
.GTEBT==131		;JIFFIES OF KL10 EBOX TIME
.GTEBR==132		;JIFFY REMAINDER MOD RTUPS OF 131
.GTMBT==133		;JIFFIES OF KL10 MBOX TIME
.GTMBR==134		;JIFFY REMAINDER MOD RTUPS OF 133
	SUBTTL	MISC. NON-I/O -- TMPCOR

.TCRFS==0	;COUNT OF FREE SPACE
.TCRRF==1	;READ FILE
.TCRDF==2	;DELETE FILE
.TCRWF==3	;WRITE FILE
.TCRRD==4	;READ DIRECTORY
.TCRDD==5	;DELETE DIRECTORY

	SUBTTL	MISC. NON-I/O -- LOCK

LK.HNP==1←20.	;HI-SEG DON'T LOCK PHYSICALLY CONTIGUOUS
LK.HNE==1←19.	;HI-SEG DON'T MAP IN EXEC VM
LK.HLS==1←18.	;HI-SEG LOCK SEGMENT
LK.LNP==1←2.	;LO-SEG DON'T LOCK PHYSICALLY CONTIGUOUS
LK.LNE==1←1.	;LO-SEG DON'T MAP IN EXEC VM
LK.LLS==1←0.	;LO-SEG LOCK SEGMENT

.LKPPN==0	;PHYSICAL PAGE NUMBER

;LOCK UUO ERRORS

LKNIS%==0	;NOT IMPLEMENTED IN THIS SYSTEM
LKNLP%==1	;NO LOCKING PRIVS
LKNCA%==2	;NOT ENOUGH CORE TO CONTINUE CURRENT JOBS
LKNCM%==3	;NOT ENOUGH CORE TO GUARANTEE CORMIN
LKNEM%==4	;NOT ENOUGH EXEC VIRT MEM
LKNIA%==5	;ILLEGAL SUB-FUNCTION ARGUMENT
LKNPU%==6	;PAGE UNAVAILABLE

	SUBTTL	MISC. NON-I/O -- RTTRP
;RTTRP UUO ERROR CODES

RTJNP%==1←11.	;JOB DOESN'T HAVE PRIVS
RTNC0%==1←10.	;NOT RUNNABLE ON CPU0
RTDIU%==1←9.	;DEVICE IN USE BY ANOTHER JOB
RTIAU%==1←8.	;ILLEGAL AC USED DURING RTTRP AT INTERRUPT
RTJNL%==1←7.	;JOB NOT LOCKED (OR NOT PRIVILEGED)
RTSLE%==1←6.	;SYSTEM LIMIT EXCEEDED FOR RT DEVICES
RTILF%==1←5.	;ILLEGAL FORMAT OF I/O INSTRUCTION
RTPWI%==1←4.	;POINTER WORD ILLEGAL
RTEAB%==1←3.	;ERROR ADDRESS OUT OF BOUNDS
RTTAB%==1←2.	;TRAP ADDRESS BAD
RTPNB%==1←1.	;PI CHANNEL NOT CURRENTLY AVAILABLE FOR BLKI/O
RTPNA%==1←0.	;PI CHANNEL NOT AVAILABLE
	SUBTTL	MISC. NON-I/O -- JOBSTS

JB.UJA==1←35.	;JOB NUMBER ASSIGNED
JB.ULI==1←34.	;JOB IS LOGGED IN
JB.UML==1←33.	;TTY IS AT MONITOR LEVEL
JB.UOA==1←32.	;OUTPUT IS AVAILABLE
JB.UDI==1←31.	;TTY IS DEMANDING INPUT
JB.UJC==1←30.	;JACCT IS SET
JB.UJN==777777	;JOB NUMBER

	SUBTTL	MISC. NON-I/O -- HIBER

HB.SWP==1←35.	;FORCE IMMEDIATE SWAP OUT
HB.IPC==1←25.	;IPCF
HB.RIO==1←24.	;I/O
HB.RPT==1←23.	;PTY ACTIVITY
HB.RTL==1←22.	;TTY LINE ACTIVITY
HB.RTC==1←21.	;TTY CHARACTER ACTIVITY
HB.RWJ==1←20.	;THIS JOB
HB.RWP==1←19.	;THIS PROGRAMMER
HB.RWT==1←18.	;THIS PROJECT


	SUBTTL	MISC. NON-I/O -- APRENB

AP.REN==1←17.	;REPETITIVE ENABLE
AP.POV==1←16.	;PUSH DOWN OVERFLOW
AP.ABK==1←14.	;(FUTURE)ADDRESS BREAK
AP.ILM==1←13.	;ILLEGAL MEMORY
AP.NXM==1←12.	;NON-EXISTENT MEMORY
AP.PAR==1←11.	;PARITY ERROR FLAG
AP.CLK==1←9.	;CLOCK
AP.FOV==1←6.	;FLOATING OVERFLOW
AP.AOV==1←3.	;ARITHMETIC OVERFLOW
	SUBTTL	MISC. NON-I/O -- SAVE/GET LOCATIONS

.SGNAM==0	;FILE NAME FROM RUN UUO
.SGPPN==7	;DIRECTORY FROM RUN UUO
.SGDEV==11	;DEVICE FROM RUN UUO
.SGLOW==17	;EXTENSION OF LOW SEG FROM RUN UUO
.SG41==122	;LOCATION IN SAVE FILE CONTAINING COPY OF .J←31.1
.SGDDT==114	;LOCATION IN SAVE FILE CONTAINING COPY OF .JBDDT

;BLOCK TYPES IN .EXE FILE DIRECTORY
.SVEND==1777	;END OF DIRECTORY
.SVDIR==1776	;DIRECTORY BLOCK

;.EXE FILE DIRECTORY ENTRIES
.SVFPF==0	;FILE PAGE AND FLAGS
	SV%HIS==1←35.	;PAGE IS PART OF HISEG
	SV%SHR==1←34.	;PAGE IS SHARABLE
	SV%WRT==1←33.	;PAGE IS WRITABLE
	SV%CON==1←32.	;PAGE IS CONCEALED
	SV%SYM==1←31.	;PAGE IS PART OF SYMBOL TABLE
	SV%FPN==1777	;FILE PAGE NUMBER
.SVPPC==1	;PROCESS PAGE AND REPEAT COUNT
	SV%REP==777←27.	;REPEAT COUNT
	SV%PPN==777	;PROCESS PAGE NUMBER

	SUBTTL	MISC. NON-I/O -- SETUUO

.STCMX==0	;CORE MAX
.STCMN==1	;CORE MIN
.STDAY==2	;DAYTIME
.STSCH==3	;SCHED WORD (SAME AS %CNSTS)
.STCDR==4	;CDR SPOOL NAME
.STSPL==5	;SPOOLING BITS (SAME AS .GTSPL)
.STWTC==6	;WATCH BITS
	ST.WDY==1←16.	;WATCH DAYTIME AT START
	ST.WRN==1←15.	;WATCH RUN TIME
	ST.WWT==1←14.	;WATCH WAIT TIME
	ST.WDR==1←13.	;WATCH DISK READS
	ST.WDW==1←12.	;WATCH DISK WRITES
	ST.WVR==1←11.	;WATCH VERSIONS
	ST.WMT==1←10.	;WATCH MTA STATISTICS
	ST.WAL==376←9.	;WATCH ALL
.STDAT==7	;DATE
.STOPR==10	;OPR DEVICE
.STKSY==11	;KSYS TIMER
.STCLM==12	;CORE LIMIT
.STTLM==13	;TIME LIMIT
.STCPU==14	;CPU SPECIFICATION
.STCRN==15	;CPU RUNABILITY
	SP.CR5==1←5.	;CPU5
	SP.CR4==1←4.	;CPU4
	SP.CR3==1←3.	;CPU3
	SP.CR2==1←2.	;CPU2
	SP.CR1==1←1.	;CPU1
	;SP.CR0==1←0.	;CPU0  (SAME BIT DEFINED EARLIER)
.STLMX==16	;LOGMAX
.STBMX==17	;BATMAX
.STBMN==20	;BATMIN
.STDFL==21	;DSKFUL
	.DFPSE==0	;PAUSE
	.DFERR==1	;ERROR
.STMVM==22	;MAX VM
.STMVR==23	;MAX VM RATE
.STUVM==24	;USER VM MAXIMA (VIRT,,PHY)
.STCVM==25	;USER CURRENT VM MAXIMA (VIRT,,PHY)
	ST.VSG==1←17.	;SET IF PHYS LIMIT IS GUIDELINE
.STTVM==26	;USER VIRT TIME INTERRUPTS
.STABK==27	;ADDRESS BREAK (HDWR FORMAT; 1←32. BREAKS UUO REFERENCES)
.STPGM==30	;SET PROGRAM TO RUN
.STDFR==31	;SET DEFERED SPOOLING
	SUBTTL	MISC. NON-I/O -- SCHED. 

;;AC CONTAINS N,,ADDR WHERE ADDR CONTAINS:
;;  !=======================================================!
;;  !        FUNCTION 1         !          BLOCK 1          !
;;  !-------------------------------------------------------!
;;  !        FUNCTION 2         !          BLOCK 2          !
;;  !-------------------------------------------------------!
;;  /                                                       /
;;  /                                                       /
;;  /                                                       /
;;  !-------------------------------------------------------!
;;  !        FUNCTION N         !          BLOCK N          !
;;  !=======================================================!

;FUNCTION CODES:
.SCRSI==000000	;READ SCHEDULING INTERVAL
.SCSSI==400000	;SET   SCHEDULING INTERVAL
	;BLOCK CONTAINS:
	.SCBSI==0	;SCHEDULING INTERVAL

.SCRMI==000001	;READ MCU INTERVAL
.SCSMI==400001	;SET  MCU INTERVAL
	;BLOCK CONTAINS:
	.SCBMI==0	;MCU INTERVAL

.SCRCQ==000002	;READ CLASS QUOTAS AND FLAGS
.SCSCQ==400002	;SET  CLASS QUOTAS AND FLAGS
	;;BLOCK CONTAINS:
	;;  !=====================================!
	;;  !            SIZE OF BLOCK            !
	;;  !-------------------------------------!
	;;  !    BITS+CLASS    !      QUOTA       !
	;;  !-------------------------------------!
	;;  /                                     /
	;;  /                                     /
	;;  /                                     /
	;;  !-------------------------------------!
	;;  !    BITS+CLASS    !      QUOTA       !
	;;  !=====================================!
	.SCBCT==0	;WORD COUNT
	.SCBCQ==1	;CLASS QUOTA
		;******DEFINE FLAGS HERE******

;CONTINUED ON NEXT PAGE
.SCRTS==000003	;READ TIME SLICE
.SCSTS==400003	;SET  TIME SLICE
	;;BLOCK CONTAINS:
	;.SCBCT==0	;WORD COUNT
	.SCBP1==1	;TIME SLICE FOR PQ1
	.SCBP2==2	;TIME SLICE FOR PQ2

.SCRUF==000004	;READ DESIRED CHAN USE FRACTION
.SCSUF==400004	;SET  DESIRED CHAN USE FRACTION
	;;BLOCK CONTAINS:
	;;  !=====================================!
	;;  !             WORD COUNT              !
	;;  !-------------------------------------!
	;;  !      CHAN #      !       DCUF       !
	;;  !-------------------------------------!
	;;  /                                     /
	;;  /                                     /
	;;  /                                     /
	;;  !-------------------------------------!
	;;  !      CHAN #      !       DCUF       !
	;;  !=====================================!
	;.SCBCT==0	;WORD COUNT
	.SCBUF==1	;CHAN,,USE FRACTION IN %

.SCRJC==000005	;READ JOB'S CLASS
.SCSJC==400005	;SET  JOB'S CLASS
	;;BLOCK CONTAINS:
	;;  !=====================================!
	;;  !             WORD COUNT              !
	;;  !-------------------------------------!
	;;  !      JOB #       !      CLASS       !
	;;  !-------------------------------------!
	;;  /                                     /
	;;  /                                     /
	;;  /                                     /
	;;  !-------------------------------------!
	;;  !      JOB #       !      CLASS       !
	;;  !=====================================!
	;.SCBCT==0	;WORD COUNT
	.SCBJC==1	;JOB,,CLASS

;CONTINUED ON NEXT PAGE
.SCRMC==000006	;READ MCU CONSTANT
.SCSMC==400006	;SET  MCU CONSTANT
	;BLOCK CONTAINS
	.SCBMC==0	;MCU CONSTANT

.SCRCU==000007	;READ CLASS USAGE
	;;BLOCK CONTAINS:
	;;  !=====================================!
	;;  !             WORD COUNT              !
	;;  !-------------------------------------!
	;;  !           CLASS 0 RUNTIME           !
	;;  !-------------------------------------!
	;;  !           CLASS 1 RUNTIME           !
	;;  !-------------------------------------!
	;;  /                                     /
	;;  /                                     /
	;;  /                                     /
	;;  !-------------------------------------!
	;;  !           CLASS N RUNTIME           !
	;;  !=====================================!
	;SCBCT==0	;WORD COUNT
	.SCBCU==1	;CLASS 0 USED

.SCREF==000010	;READ EXPONENTIAL FACTOR
.SCSEF==400010	;SET  EXPONENTIAL FACTOR
	;BLOCK CONTAINS:
	.SCBEF==0	;EXPONENTAIL FACTOR

.SCRMM==000011	;READ MCU MULTIPLIER
.SCSMM==400011	;SET  MCU MULTIPLIER
	;BLOCK CONTAINS:
	.SCBMM==0	;MCU MULTIPLIER

;SCHED. UUO ERROR CODES
SCHAC%==1	;ADDRESS CHECK
SCHUF%==2	;UNKNOWN FUNCTION
SCHUJ%==3	;UNKNOWN JOB
SCHNP%==4	;NOT PRIVILEGED
SCHUC%==5	;UNKNOWN CLASS
SCHUQ%==6	;UNKNOWN QUEUE
SCHNC%==7	;NON-EXISTANT CHANNEL
SCHEB%==10	;EXPONENTIAL FACTOR BAD
SCHMI%==11	;ATTEMPT TO SET PROT WHEN MCUINT NON-ZERO
	SUBTTL	MISC. NON-I/O -- ATTACH

AT.UMM==1←35.	;PLACE IN MONITOR MODE
AT.UUM==1←34.	;PLACE IN USER MODE

	SUBTTL	UNIVERSAL DEVICE INDEX

.UXCHN==0	;I/O CHANNEL NUMBER
		;001000-077777 ARE PHYSICAL DEVICES
	UX.TYP==77←9.	;DEVICE TYPE (SAME AS DEVTYP)
	UX.UNT==777	;UNIT WITHIN TYPE
.UXTRM==200000	;TERMINALS
.UXPRC==300000	;PROCESS

	SUBTTL	.JBINT INTERCEPT BLOCK

;;  !=======================================================!
;;  !       BLOCK LENGTH        !          NEW PC           !
;;  !-------------------------------------------------------!
;;  !                   OLD PC AND FLAGS                    !
;;  !-------------------------------------------------------!
;;  !      CLASS OF INTERRUPT       !    CHANNEL NUMBER     !
;;  !=======================================================!

.ERNPC==0	;LH=LENGTH, RH=NEW PC FOR INTERRUPT
.ERCLS==1	;CLASSES OF ERROR INTERCEPTING
	ER.MSG==1←35.	;SUPPRESS ERROR MESSAGE
	ER.EIJ==1←6.	;ERROR IN JOB
	ER.TLX==1←5.	;TIME LIMIT EXCEEDED
	ER.QEX==1←4.	;QUOTA EXHAUSTED
	ER.FUL==1←3.	;FILE STRUCTURE FULL
	ER.OFL==1←2.	;DISK UNIT OFF-LINE
	ER.ICC==1←1.	;CONTROL-C INTERCEPT
	ER.IDV==1←0.	;"PROBLEM ON DEVICE" ERRORS
.EROPC==2	;OLD PC
.ERCCL==3	;RH=CHANNEL, LH=CLASS OF INTERRUPT
	SUBTTL	PSI SOFTWARE INTERRUPT SYSTEM

;INTERRUPT VECTOR
; SETS OF 4-WORD BLOCKS
;;  !=======================================================!
;;  !                   NEW PC AND FLAGS                    !
;;  !-------------------------------------------------------!
;;  !                   OLD PC AND FLAGS                    !
;;  !-------------------------------------------------------!
;;  ! !O!R!A!D!M!I!             !         I/O REASON        !
;;  !-------------------------------------------------------!
;;  !                   INTERRUPT STATUS                    !
;;  !=======================================================!

.PSVNP==0	;NEW PC AND FLAGS
.PSVOP==1	;OLD PC AND FLAGS
.PSVFL==2	;FLAGS
	PS.VPO==1←34.	;TURN PERMANENTLY OFF, NO RESTORE
	PS.VTO==1←33.	;TURN OFF, RESTORE ON DEBRK.
	PS.VAI==1←32.	;ALLOW ADDITIONAL INTERRUPT
	PS.VDS==1←31.	;DISCARD SUCCESSIVE INTERRUPTS WHILE INTERRUPTED
	PS.VPM==1←30.	;PRINT STANDARD MESSAGE
	PS.VIP==1←29.	;INTERRUPTS IN PROGRESS FOR THIS BLOCK
			;  (USED BY PSISER)

	PS.RID==1←16.	;REASON--INPUT DONE
	PS.ROD==1←15.	;REASON--OUTPUT DONE
	PS.REF==1←14.	;REASON--END FILE
	PS.RIE==1←13.	;REASON--INPUT ERROR
	PS.ROE==1←12.	;REASON--OUTPUT ERROR
	PS.RDO==1←11.	;REASON--DEVICE OFF-LINE
	PS.RDF==1←10.	;REASON--DEVICE FULL
	PS.RQE==1←9.	;REASON--QUOTA EXCEEDED
	PS.RWT==1←8.	;REASON--IO WAIT
.PSVIS==3	;INTERRUPT STATUS (AUX. WORD)
		;  I/O DEVICES RETURN   UDX,,GETSTS
;NON-DEVICE CONDITIONS

.PCTLE==-1	;TIME LIMIT EXCEEDED (NON-BATCH ONLY)
.PCABT==-2	;ABORT (↑A); RETURNS 1←35.=1 IF TI WAIT; (FUTURE)
.PCSTP==-3	;STOP (↑C); RETURNS 1←35.=1 IF TI WAIT
.PCUUO==-4	;ANY MUUO; RETURNS UUO
.PCIUU==-5	;ILLEGAL UUO; RETURNS UUO
.PCIMR==-6	;ILLEGAL MEMORY REFERENCE
.PCACK==-7	;ADDRESS CHECK; RETURNS DEVICE NAME
.PCARI==-10	;ARITHMETIC EXCEPTION
.PCPDL==-11	;PDL OVERFLOW
.PCTT3==-12	;TRAP TYPE 3 (FUTURE)
.PCNXM==-13	;NON-EXISTENT MEMORY
.PCAPC==-14	;APR CLOCK; RETURNS MSTIME
.PCUEJ==-15	;USER INDUCED ERROR IN JOB
.PCXEJ==-16	;EXTERNAL ERROR IN JOB
.PCKSY==-17	;KSYS WARNING; RETURNS MINS TO KSYS
.PCDSC==-20	;DATA-SET CHANGE; RETURNS NEW STATUS
.PCDAT==-21	;DETACH/ATTACH; RETURNS -1 OR TTY UDX
.PCWAK==-22	;WAKE UUO; RETURNS JOB NUMBER OF WAKER
.PCABK==-23	;ADDRESS BREAK
.PCIPC==-24	;IPCF RECEIVE; RETURNS LENGTH,,FLAGS
.PCRMC==-25	;REMOTE COMPUTER CONDITION
.PCQUE==-26	;ENQ/DEQ RESOURCE AVAILABLE
;INTERRUPT ENABLE REQUEST BLOCK
; SETS OF 3-WORD BLOCKS

.PSECN==0	;CONDITION OR DEVICE
.PSEOR==1	;OFFSET,,REASON BITS
.PSEPR==2	;PRIORITY,,RESERVED

;PISYS. FUNCTION BITS

PS.FOF==1←34.	;TURN OFF
PS.FON==1←33.	;TURN ON
PS.FCP==1←32.	;CLEAR ALL PENDING INTERRUPTS
PS.FCS==1←31.	;CLEAR SELECTED INTERRUPT
PS.FRC==1←30.	;REMOVE CONDITION OR DEVICE
PS.FAC==1←29.	;ADD CONDITION OR DEVICE

;PISAV./PIRST. FLAGS

.PSSFC==0	;FLAGS,,COUNT
	PS.SON==1←35.	;SYSTEM IS ON
.PSSIV==1	;ADDRESS OF INTERRUPT VECTOR
.PSSBL==2	;START OF 3-WORD BLOCKS

;PISYS. ERRORS

PSTMA%==0	;TOO MANY ARGUMENTS
PSNFS%==1	;NO FUNCTION SUPPLIED
PSUKF%==2	;UNKNOWN FUNCTION REQUESTED
PSOOF%==3	;ON AND OFF IN SAME FUNCTION
PSUKC%==4	;UNKNOWN CONDITION REQUESTED
PSDNO%==5	;DEVICE NOT OPEN
PSPRV%==6	;PRIVILEGE FAILURE
PSIVO%==7	;INVALID VECTOR OFFSET
PSUKR%==10	;UNKNOWN REASON ENABLED
PSPTL%==11	;PRIORITY TOO LARGE
PSNRW%==12	;NON-ZERO RESERVED WORD
PSPND%==13	;PIINI. NOT DONE
PSARF%==14	;ADD AND REMOVE IN SAME FUNCTION

;PISAV. ERRORS

PSBTS%==0	;BLOCK TOO SMALL

;PIRST. ERRORS

PSNRS%==0	;NOT RESTORING WHAT WAS SAVED
	SUBTTL	IPCF INTERPROCESS COMMUNICATION FACILITY

;PACKET FORMAT
;;  !=========================================================================!
;;  !BB!IS!R!O!T!                         !P!V!       !   ERROR   !SENDR!RETRN!
;;  !-------------------------------------------------------------------------!
;;  !                              SENDER'S PID                               !
;;  !-------------------------------------------------------------------------!
;;  !                             RECEIVER'S PID                              !
;;  !-------------------------------------------------------------------------!
;;  !        WORD LENGTH OF DATA         !     START OF DATA (WORD/PAGE)      !
;;  !-------------------------------------------------------------------------!
;;  !                   SENDER'S PPN (SUPPLIED BY MONITOR)                    !
;;  !-------------------------------------------------------------------------!
;;  !J !L !X!P!I!                                                             !
;;  !=========================================================================!

.IPCFL==0	;FLAGS
	IP.CFB==1←35.	;DON'T BLOCK READ
	IP.CFS==1←34.	;INDIRECT SENDER'S PID
	IP.CFR==1←33.	;INDIRECT RECEIVER'S PID
	IP.CFO==1←32.	;OVERDRAW SEND
	IP.CFT==1←31.	;TRUNCATE READ
	IP.CFP==1←17.	;SENDER IS PRIVILEGED AND IS INVOKING THEM
	IP.CFV==1←16.	;VM PAGE TRANSFER MODE
	IP.CFE==77←6.	;ERROR FIELD (NOT PRIV.)
	IP.CFC==7←3.	;SYSTEM SENDER CODE (PRIV.)
		.IPCCC==1	;SENT BY [SYSTEM]IPCC
		.IPCCF==2	;SENT BY SYSTEM-WIDE [SYSTEM]INFO
		.IPCCP==3	;SENT BY RECEIVER'S [SYSTEM]INFO
	IP.CFM==7	;SPECIAL MESSAGE RETURN FIELD (PRIV.)
		.IPCFN==1	;MESSAGE WAS NOT DELIVERED
.IPCFS==1	;SENDER'S PID
.IPCFR==2	;RECEIVER'S PID
.IPCFP==3	;LENGTH,,START OF DATA IN PACKET
.IPCFU==4	;SENDER'S PPN (SUPPLIED BY MONITOR)
.IPCFC==5	;SENDER'S CAPABILITIES WORD. (SUPPLIED BY MONITOR)
	IP.JAC==1←35.	;SENDER HAS JACCT SET
	IP.JLG==1←34.	;SENDER IS  LOGGED-IN
	IP.SXO==1←33.	;SENDER IS  EXECUTE ONLY
	IP.POK==1←32.	;SENDER HAS JS.POK PRIV
	IP.IPC==1←31.	;SENDER HAS IPCF PRIVS
;IPCC AND INFO ERROR CODES

IPCAC%==1	;ADDRESS CHECK
IPCNL%==2	;NOT LONG ENOUGH
IPCNP%==3	;NO PACKET IN RECEIVE QUEUE
IPCIU%==4	;(UNUSED)
IPCTL%==5	;DATA TOO LONG FOR USER'S BUFFER
IPCDU%==6	;DESTINATION UNKNOWN (RECEIVER'S PID)
IPCDD%==7	;DESTINATION DISABLED
IPCRS%==10	;NO ROOM IN SENDER'S QUOTA
IPCRR%==11	;NO ROOM IN RECEIVER'S QUOTA
IPCRY%==12	;NO ROOM IN SYSTEM STORAGE
IPCUP%==13	;UNKNOWN PAGE ON SEND; DUPLICATE PAGE ON RECEIVE (VM)
IPCIS%==14	;INVALID SEND PID
IPCPI%==15	;PRIV INSUFFICIENT
IPCUF%==16	;UNKNOWN FUNCTION
IPCBJ%==17	;BAD JOB NUMBER
IPCPF%==20	;PID TABLE FULL
IPCPR%==21	;PAGE REQUESTED, NORMAL NEXT
IPCIE%==22	;PAGING I/O ERROR
IPCBI%==23	;BAD INDEX SPECIFIED FOR SYSTEM PID TABLE
IPCUI%==24	;UNDEFINED ID IN SYSTEM PID TABLE
IPCFU%==70	;[SYSTEM]INFO HAS AN UNKNOWN, INTERNAL ERROR
IPCCF%==71	;[SYSTEM]IPCC REQUEST FROM [SYSTEM]INFO FAILED
IPCFF%==72	;[SYSTEM]INFO FAILED TO COMPLETE AN ASSIGN
IPCQP%==73	;PID QUOTA EXCEEDED
IPCBP%==74	;BAD (UNKNOWN) PID
IPCDN%==75	;DUPLICATE NAME
IPCNN%==76	;NO SUCH NAME
IPCBN%==77	;NAME HAS ILLEGAL CHARACTERS
;MESSAGES TO AND FROM [SYSTEM]IPCC

.IPCS0==0	;LH=CALLER'S IDENTIFIER, RH=FUNCTION
	.IPCSE==1	;ENABLE (ME OR (1)=PID)
	.IPCSD==2	;DISABLE (ME OR (1)=PID)
	.IPCSI==3	;TELL PID OF [SYSTEM]INFO FOR (ME OR (1)=PID); (2) GETS PID
	.IPCSF==4	;MAKE [SYSTEM]INFO OF (1) (2)=FOR WHOM (0=SYSTEM)
	.IPCSZ==5	;ZAP PID IN (1)
	.IPCSC==6	;CREATE PID FOR JOB IN (1); (2) GETS PID
	.IPCSQ==7	;SET QUOTA (2) FOR (1)=PID
	.IPCSO==10	;CHANGE OWNER OF (1)=PID, (2)=NEW JOB NUMBER
	.IPCSJ==11	;GIVE JOB OF PID IN (1); (2) GETS JOB NO
	.IPCSP==12	;GIVE PID LIST FOR JOB (1) STARTING AT (2)
	.IPCSR==13	;READ QUOTA OF JOB (1); INTO (2)
	.IPCSW==14	;WAKE JOB (1) SLEEPING FROM .IPCSS
	.IPCSS==15	;(ANSWER ONLY) IF LH(1)=0, JOB RH(1) IS RESETTING
			;	      IF LH(1)=-1, JOB RH(1) IS LOGGING OUT
	.IPCWP==24	;WRITE SYSTEM PID TABLE
	.IPCRP==25	;READ SYSTEM PID TABLE
	.IPCSU==26	;SPOOLED FILE CLOSED (SENT TO [SYSTEM]QUASAR)
	.IPCSL==27	;LOGOUT MESSAGE SEND TO [SYSTEM]QUASAR
.IPCS1==1	;FIRST ARGUMENT
.IPCS2==2	;SECOND ARGUMENT
.IPCS3==3	;THIRD ARGUMENT

;SPECIAL SYSTEM PID TYPES (READ/WRITE .GTSID VIA .IPCRP AND .IPCWP)
.IPCPS==0	;[SYSTEM]IPCC 
.IPCPI==1	;[SYSTEM]INFO
.IPCPQ==2	;[SYSTEM]QUASAR
.IPCPM==3	;MOUNTABLE DEVICE ALLOCATOR
.IPCPT==4	;TAPE LABEL PROCESS

;MESSAGES TO AND FROM [SYSTEM]INFO

.IPCI0==0	;LH=CALLER'S IDENTIFIER, RH=FUNCTION
	.IPCIW==1	;WHAT IS PID, ASCIZ IN (2+)
	.IPCIG==2	;GET NAME OF (2)=PID
	.IPCII==3	;ASSIGN NAME UNTIL RESET (FORMAT=.IPCIW)
	.IPCIJ==4	;ASSIGN NAME UNTIL LOGOUT (FORMAT=.IPCIW)
	.IPCID==5	;DROP SPECIFIC PID (2)
	.IPCIR==6	;DROP NAMES SET BY .IPCII, (2)=JOB NUMBER
	.IPCIL==7	;DROP NAMES SET BY .IPCIJ, (2)=JOB NUMBER
	.IPCIS==15	;RESET JOB RH(1) IF LH(1)=0, OR LOGOUT IF LH=-1
.IPCI1==1	;FIRST ARGUMENT (ALWAYS 0 OR PID TO GET DUPLICATE OF ANSWER)
.IPCI2==2	;SECOND ARGUMENT
	SUBTTL	PAGE AND VM  VIRTUAL MEMORY FACILITY

;PAGE. UUO FUNCTIONS

.PAGIO==0	;PAGE IN/OUT (OUT IF 1←35.=1 IN LIST)
	PA.GSL==1←34.	;PAGE TO SLOW SWAPPING SPACE
.PAGCD==1	;PAGE CREATE/DESTROY
	PA.GCD==1←34.	;CREATE PAGE ON DISK
.PAGEM==2	;PAGE EXCHANGE/MOVE
.PAGAA==3	;CLEAR/SET ACCESS ALLOWED
.PAGWS==4	;GET WORKING SET
.PAGGA==5	;GET ACCESS ALLOWED
.PAGCA==6	;CHECK ACCESS LEGAL
	PA.GNE==1←35.	;DOES NOT EXIST
	PA.GWR==1←34.	;WRITABLE
	PA.GRD==1←33.	;READABLE
	PA.GAA==1←32.	;ACCESS ALLOWED
	PA.GAZ==1←31.	;ALLOCATED BUT ZERO
	PA.GCP==1←30.	;CAN'T BE PAGED OUT
	PA.GPO==1←29.	;IS PAGED OUT
.PAGCH==7	;CREATE A HISEG (GENERAL REMAP)

;PAGE. UUO ERRORS

PAGUF%==0	;UNIMPLEMENTED FUNCTION
PAGIA%==1	;ILLEGAL ARGUMENT
PAGIP%==2	;ILLEGAL PAGE NUMBER
PAGCE%==3	;PAGE CAN'T EXIST BUT DOES
PAGME%==4	;PAGE MUST EXIST BUT DOESN'T
PAGMI%==5	;PAGE MUST BE IN CORE BUT ISN'T
PAGCI%==6	;PAGE CAN'T BE IN CORE BUT IS
PAGSH%==7	;PAGE IS IN A SHARABLE HI-SEG
PAGIO%==10	;PAGING I/O ERROR
PAGNS%==11	;NO SWAPPING SPACE AVAILABLE
PAGLE%==12	;CORE LIMIT EXCEEDED
PAGIL%==13	;ILLEGAL IF LOCKED
PAGNX%==14	;CAN NOT CREATE ALLOCTED BUT ZERO PAGE
		; WITH VIRTUAL LIMIT EQUAL TO ZERO.
;.JBPFH REGION

.PFHNP==0	;NEW PC AND FLAGS
.PFHOP==1	;OLD PC AND FLAGS
.PFHFC==2	;FAULT WORD
	PF.HCB==1←35.	;WORKING SET CHANGED BEHIND BACK
	PF.HPN==777←18.	;PAGE NUMBER
	PF.HFC==0,,-1	;FAULT CODE
		.PFHNA==1	;PAGE NOT ACCESSABLE
		.PFHNI==2	;PAGE NOT IN CORE
		.PFHUU==3	;PAGE FAULT IN UUO ARGS
		.PFHTI==4	;VIRTUAL TIMER
		.PFHZI==5	;ALLOCATED BUT ZERO FROM USER
		.PFHZU==6	;ALLOCATED BUT ZERO DURING UUO
.PFHVT==3	;VIRTUAL TIME
.PFHPR==4	;PAGING RATE
	;5-10 RESERVED
	SUBTTL	DAEMON CALLS

;DAEMON UUO FUNCTIONS

.DCORE==1	;DUMP CORE
.CLOCK==2	;ENTER A CLOCK REQUEST
.FACT==3	;MAKE A FACT FILE ENTRY
.DMQUE==4	;(UNIMPLEMENTED)
.DMERR==5	;ERROR LOGGING
.DMCTL==6	;(UNIMPLEMENTED)

;DAEMON UUO ERRORS

DMILF%==1	;ILLEGAL FUNCTION
DMACK%==2	;ADDRESS CHECK
DMWNA%==3	;WRONG NUMBER OF ARGUMENTS
DMSNH%==4	;IMPOSSIBLE UUO FAILURE (SHOULD NEVER HAPPEN)
DMCWF%==5	;CAN'T WRITE FILE
DMNPV%==6	;NO PRIVILEGES
DMFFB%==7	;FACT FORMAT BAD
DMPTH%==10	;INVALID PATH SPECIFICATION

;DCORE DUMP CATEGORIES

.CAJOB==1	;JOB TABLES (SEE BELOW)
.CACNF==2	;CONFIGURATION TABLES (.GTCNV)
.CADDB==3	;JOB'S DDBS
.CACOR==4	;USER'S CORE IMAGE (COMPRESSED)
.CAFET==5	;FET GETTAB
.CAMAX==5	;HIGHEST LEGAL CATEGORY NUMBER
;DCORE JOB TABLE ENTRIES

.DJVER==0	;DAEMON VERSION (137)
.DJDAT==1	;DATE (FROM DATE UUO)
.DJMST==2	;TIME IN MILLISEC. (FROM MSTIME UUO)
.DJJSN==3	;JOB,,SEGMENT NUMBERS
.DJLIN==4	;???,,LINE NUMBER (TTY)
.DJSTS==5	;.GTSTS(JOB)
.DJHTS==6	;.GTSTS(HISEG)
.DJPPN==7	;.GTPPN(JOB)
.DJHPN==10	;.GTPPN(HISEG)
.DJPRG==11	;.GTPRG(JOB)
.DJHRG==12	;.GTPRG(HISEG)
.DJTIM==13	;.GTTIM(JOB)
.DJKCT==14	;.GTKCT(JOB)
.DJPRV==15	;.GTPRV(JOB)
.DJSWP==16	;.GTSWP(JOB)
.DJHWP==17	;.GTSWP(HISEG)
.DJRCT==20	;.GTRCT(JOB)
.DJWCT==21	;.GTWCT(JOB)
.DJTDB==22	;.GTTDB(JOB)
.DJDEV==23	;.GTDEV(HISEG)
.DJNM1==24	;.GTNM1(JOB)
.DJNM2==25	;.GTNM2(JOB)
.DJCNO==26	;.GTCNO(JOB)
.DJTMP==27	;.GTTMP(JOB)
.DJWCH==30	;.GTWCH(JOB)
.DJSPL==31	;.GTSPL(JOB)
.DJRTD==32	;.GTRTD(JOB)
.DJLIM==33	;.GTLIM(JOB)
.DJSPS==34	;.GTSPS(JOB)
.DJRSP==35	;.GTRSP(JOB)
.DJTRQ==36	;.GTTRQ(JOB)
.DJUPM==37	;.GTUPM(JOB)
.DJHPM==40	;.GTUPM(HISEG)
.DJCVL==41	;.GTCVL(JOB)
.DJMVL==42	;.GTMVL(JOB)
.DJIPA==43	;.GTIPA(JOB)
.DJIPC==44	;.GTIPC(JOB)
.DJIPI==45	;.GTIPI(JOB)
.DJIPQ==46	;.GTIPQ(JOB)
.DJDVL==47	;.GTDVL(JOB)
.DJABS==50	;.GTABS(JOB)
.DJVRT==51	;.GTVRT(JOB)
.DJHRT==52	;.GTVRT(HISEG)
.DJMAX==52	;HIGHEST LEGAL JOB TABLE
	SUBTTL	METER UUO

;METER. FUNCTIONS

.MEFCI==0	;INITIALIZE METER CHANNEL
.MEFCS==1	;READ METER CHANNEL STATUS
.MEFCR==2	;RELEASE METER CHANNEL
.MEFPI==3	;INITIALIZE METER POINT
.MEFPS==4	;READ METER POINT STATUS
.MEFPR==5	;RELEASE METER POINT

;METER. ERRORS

MEILF%==1	;ILLEGAL FUNCTION
MENPV%==2	;NOT PRIVILEGED USER
MEIMA%==3	;ILLEGAL MEMORY ADDRESS
MEPDL%==4	;PDL OVERFLOW
MEIAL%==5	;ILLEGAL ARG LIST
MEIAV%==6	;ILLEGAL ARG VALUE
MENFC%==7	;NOT ENOUGH FREE CORE
MEICT%==10	;ILLEGAL CHANNEL TYPE
MEIPT%==11	;ILLEGAL POINT ROUTINE TYPE
MENXP%==12	;NON-EXISTENT POINT NAME
MENXC%==13	;NON-EXISTENT CHANNEL
MEPNA%==14	;POINT NOT AVAILABLE

;STANDARD CHANNEL ARGUMENT BLOCK LOCATIONS

.MCFUN==0	;UUO FUNCTION CODE
.MCCID==1	;USER CHANNEL ID
.MCTYP==2	;CHANNEL TYPE
		.MCTYN==0	;NULL CHANNEL
		.MCTYD==1	;DISPLAY CHANNEL
		.MCTYT==2	;TRACE CHANNEL
.MCSTS==3	;CHANNEL STATUS
	MC.STS==17777←23. ;STATUS MASK
	MC.USA==1←34.	;USER SEGMENT ADDRESSED
.MCJOB==4	;CHANNEL JOB NUMBER

;DISPLAY CHANNEL ARGS

.MCTCN==5	;AVERAGING TIME CONSTANT
.MCPTR==6	;DEPOSIT BYTE POINTER
;TRACE CHANNEL ARGS

.MCFLG==5	;USER ADDRESS OF FLAG AND STATUS WORD
	MC.WAK==1←35.	;ENABLED FOR WAKEUP
.MCBUF==6	;USER ADDRESS OF TRACE BUFFER
.MCIOX==7	;USER ADDRESS OF BUFFER INDEX
.MCCNT==10	;USER ADDRESS OF WAKEUP COUNTER
.MCBFL==11	;BUFFER LENGTH

;ARGUMENT BLOCK FOR METER. POINT FUNCTIONS

.MPFUN==0	;UUO FUNCTION CODE
.MPAPP==1	;NUM ARGS PER POINT IN LIST
.MPNUM==2	;NUMBER OF POINTS IN LIST
.MPADR==3	;ADDRESS OF POINT LIST
.MPERR==4	;ADDRESS OF ERROR POINT

;ARG DISPLACEMENTS PER POINT IN POINT LIST

.MPNAM==0	;POINT NAME
.MPPID==1	;USER POINT ID
.MPPAR==2	;POINT PARAMETER
.MPJOB==3	;JOB NUMBER
.MPSTS==4	;POINT STATUS
	MP.STS==17777←23. ;POINT STATUS MASK
	MP.ENB==1←35.	;POINT IS ENABLED
	MP.USA==1←34.	;USER SEGMENT ADDRESSED
.MPPRT==5	;POINT ROUTINE TYPE
		.MPRN==00	;NULL ROUTINE
		.MPRV==01	;INTRINSIC VALUE
		.MPRT==02	;TIME INTERVAL
		.MPRVI==3	;INTRINSIC VALUE+POINT ID
		.MPRTI==4	;TIME+POINT ID
.MPPRP==6	;POINT ROUTINE PARAMETER
.MPCID==7	;USER CHANNEL ID
	SUBTTL	ENQUEUE AND DEQUEUE SYMBOLS

;;GENERAL FORMAT FOR ENQ./DEQ./ENQC.
;;!=======================================================!
;;!        # OF LOCKS         !   LENGTH OF THIS BLOCK    !
;;!-------------------------------------------------------!
;;!         RESERVED          !        REQUEST ID         !
;;!=======================================================!
;;!S!B! RESERVED !   LEVEL #   !     CHAN #/-1/-2/-3      !
;;!-------------------------------------------------------!
;;!          BYTE POINTER TO STRING OR USER CODE          !
;;!-------------------------------------------------------!
;;!     # OF RES. IN POOL     !    # WANTED OR GROUP #    !
;;!-------------------------------------------------------!
;;/                                                       /
;;/                 3 WORDS FOR EACH LOCK                 /
;;/                                                       /
;;!-------------------------------------------------------!
;;!S!B! RESERVED !   LEVEL #   !     CHAN #/-1/-2/-3      !
;;!-------------------------------------------------------!
;;!          POINTER TO STRING OR 5←33.+USER CODE           !
;;!-------------------------------------------------------!
;;!     # OF RES IN POOL      !    # WANTED OR GROUP #    !
;;!=======================================================!

.ENQLL==0	;NUMBER OF LOCKS AND LENGTH
	EQ.LNL==777777←18.	;NUMBER OF LOCKS
	EQ.LLB==777777←0.	;LENGTH OF BLOCK
.ENQRI==1	;REQUEST I.D.

;FOR EACH LOCK:
.ENQFL==0	;FLAGS, LEVEL, CHAN
	EQ.FSR==3←35.	;SHARED REQUEST
	EQ.FBL==1←34.	;BYPASS LEVEL CHECKING
	EQ.FLV==777←18.	;LEVEL #
	EQ.FCC==777777	;CHAN. NUMBER OR CODE
	    .EQFJB==777777  ;CODE FOR THIS JOB ONLY
	    .EQFGL==777776  ;GLOBAL LOCK
	    .EQFPL==777775  ;PRIV. GLOBAL LOCK
.ENQBP==1	;BYTE POINTER OR USER CODE
	EQ.BUC==5←33.	;SET IF 33 BIT USER CODE IS USED
.ENQPS==2	;POOL SIZE
	EQ.PPS==777777←18.	;TOTAL SIZE OF POOL
	EQ.PPR==777777←0.	;NUMBER REQUESTED FROM POOL
;ENQ. FUNCTION CODES
.ENQBL==0	;ENQ. BLOCK TILL AVAILABLE
.ENQAA==1	;ENQ. ALLOCATE ONLY IF AVAILABLE
.ENQSI==2	;ENQ. SOFTWARE INTERRUPT WHEN AVAIL.
.ENQMA==3	;ENQ. MODIFY ACCESS

;DEQ. FUNCTION CODES
.DEQDR==0	;DEQ. RESOURCE
.DEQDA==1	;DEQ. ALL
.DEQID==2	;DEQ. BY REQUEST I.D.

;ENQC. FUNCTION CODES
.ENQCS==0	;RETURN STATUS
.ENQCG==1	;GET USER'S QUOTA
.ENQCC==2	;CHANGE USERS QUOTA
.ENQCD==3	;DUMP THE DATA BASE
;;FORMAT OF ENQC. STATUS BLOCKS (FUNCTION 1)
;;!=========================================================================!
;;!I !O !Q!X!         !     LEVEL #     !     JOB # OF OWNER OR ERROR #     !
;;!-------------------------------------------------------------------------!
;;!                           TIME-STAMP OF LOCK                            !
;;!-------------------------------------------------------------------------!
;;!          RESERVED TO DEC           !     REQUEST ID OF CALLER/OWNER     !
;;!-------------------------------------------------------------------------!
;;/                                                                         /
;;/                TWO WORDS FOR EACH LOCK IN ENQC. REQUEST                 /
;;/                                                                         /

.ENQCF==0	;FLAG WORD
	EQ.CFI==1←35.	;LOCK IS INVALID
	EQ.CFO==1←34.	;THIS USER IS THE OWNER
	EQ.CFQ==1←33.	;THIS USER IS IN THE QUEUE
	EQ.CFX==1←32.	;THE OWNER HAS EXCLUSIVE ACCESS
	EQ.CFL==777←18.	;LEVEL NUMBER
	EQ.CFJ==777777	;JOB # OF OWNER (OR ERROR CODE)
.ENQCT==1	;TIME-STAMP (TIME LOCK WAS GRANTED TO OWNER
		;	IN UNIVERSAL FORMAT)
.ENQCI==2	;REQUEST ID OF OWNER/CALLER
;;FORMAT FOR ENQC. DUMP
;;!=======================================================!
;;!             NUMBER OF WORDS IN THIS BLOCK             !
;;!=======================================================!
;;!                                                       !
;;!                                                       !
;;!                LOCK-BLOCK FOR LOCK # 1                !
;;!                                                       !
;;!-------------------------------------------------------!
;;!         QUEUE BLOCK FOR FIRST ENTRY OF LOCK 1         !
;;!                                                       !
;;!-------------------------------------------------------!
;;!                                                       !
;;!        QUEUE BLOCK FOR SECOND ENTRY OF LOCK 1         !
;;!-------------------------------------------------------!
;;/                                                       /
;;/    TWO WORD QUEUE-BLOCK FOR EACH WAITER FOR LOCK 1    /
;;/                                                       /
;;!=======================================================!
;;!                                                       !
;;!                                                       !
;;!                LOCK BLOCK FOR LOCK #2                 !
;;!                                                       !
;;!-------------------------------------------------------!
;;!       QUEUE-BLOCK FOR FIRST WAITER FOR LOCK #2        !
;;!                                                       !
;;!-------------------------------------------------------!
;;!                                                       !
;;!       QUEUE-BLOCK FOR SECOND WAITER FOR LOCK #2       !
;;!-------------------------------------------------------!
;;/                                                       /
;;/                                                       /
;;/      LOCK-BLOCKS AND QUEUE BLOCKS FOR THE ENTIRE      /
;;/                  ENQ./DEQ. DATA BASE                  /
;;/                                                       /
;;/                                                       /
;;FORMAT OF EACH LOCK-BLOCK
;;!=========================================================================!
;;! 1! 0!T!0!0!       !     LEVEL #     !             LOCK I.D.             !
;;!-------------------------------------------------------------------------!
;;!           # IN POOL OR 0           !          # REMAINING OR 0          !
;;!-------------------------------------------------------------------------!
;;!                               TIME-STAMP                                !
;;!-------------------------------------------------------------------------!
;;!            ASCIZ STRING (MAY BE SEVERAL WORDS) OR USER CODE             !
;;!=========================================================================!

;;FORMAT OF EACH QUEUE-BLOCK
;;!=========================================================================!
;;! 0!LO!0!X!B!                         !               JOB #               !
;;!-------------------------------------------------------------------------!
;;!       GROUP # OR # REQUESTED       !            REQUEST I.D.            !
;;!=========================================================================!

;FLAGS IN FIRST WORD OF EACH BLOCK TYPE:
EQ.DLB==1←35.	;THIS IS A LOCK BLOCK
EQ.DLO==1←34.	;THIS IS THE LOCK OWNER (QUEUE-BLOCK ONLY)
EQ.DLT==1←33.	;THIS LOCK HAS TEXT (LOCK-BLOCK ONLY)
EQ.DXA==1←32.	;EXCLUSIVE ACCESS (QUEUE-BLOCK ONLY)
EQ.DJW==1←31.	;THIS JOB IS BLOCKED WAITING FOR LOCK (QUEUE-BLOCK ONLY)

;FORMAT OF LOCK-BLOCK
.EQDFL==0	;FLAGS AND LEVEL
	EQ.DFL==777←18.	;LEVEL #
	EQ.DFI==777777	;LOCK I.D.
.EQDPR==1	;POOLED REQUEST COUNTS
	EQ.DPS==777777←18. ;SIZE OF POOL
	EQ.DPL==777777←0. ;NUMBER LEFT
.EQDTS==2	;TIME-STAMP
.EQDSU==3	;STRING OR USER CODE

;FORMAT OF A QUEUE-BLOCK
.EQDFJ==0	;FLAGS AND JOB #
	EQ.DJN==777←0.	;JOB NUMBER
.EQDGI==1	;GROUP # AND REQUEST I.D.
	EQ.DGR==777777←18. ;GROUP OR # REQUESTED
	EQ.DRI==777777←0. ;REQUEST I.D.
;ENQ./DEQ./ENQC. ERROR CODES

ENQRU%==1	;SOME RESOURCE(S) REQUEST WERE  UNAVAILABLE
ENQBP%==2	;ILLEGAL # OF RESOURCES REQUESTED (POOLED RESOURCES)
ENQBJ%==3	;BAD JOB NUMBER
ENQBB%==4	;BAD BYTE SIZE IN TEXT STRING
ENQST%==5	;STRING TOO LONG
ENQBF%==6	;BAD FUNCTION CODE
ENQBL%==7	;ILLEGAL ARGUMENT BLOCK LENGTH
ENQIC%==10	;ILLEGAL NUMBER OF LOCKS SPECIFIED
ENQBC%==11	;BAD CHANNEL NUMBER
ENQPI%==12	;OPERATOR/JACCT PRIVILEGE REQUIRED
ENQNC%==13	;NO CORE AVAILABLE
ENQFN%==14	;FILE NOT OPEN ON SPECIFIED CHANNEL, OR DEVICE NOT A DISK
ENQIN%==15	;INDIRECT OR INDEXED BYTE POINTER NOT ALLOWED
ENQNO%==16	;NO RESOURCES WERE OWNED
ENQLS%==17	;LEVEL SEQUENCING ERROR (LEVEL # TOO LOW)
ENQCC%==20	;CAN'T CHANGE ACCESS
ENQQE%==21	;QUOTA EXCEEDED
ENQPD%==22	;# OF RESOURCES IN POOL NOT SAME AS IN LOCK
ENQDR%==23	;DUPLICATE REQUEST FOR RESOURCE (LOCK ALREADY REQUESTED)
ENQNE%==24	;NOT ENQ'ED ON THIS LOCK
ENQLD%==25	;LEVEL # IN REQUEST DOES NOT MATCH LOCK
ENQED%==26	;ENQ/DEQ PRIVILEGES REQUIRED
	SUBTTL	MISC. I/O -- DEVCHR

DV.DRI==1←35.	;DTA WITH DIRECTORY IN CORE
DV.DSK==1←34.	;DEVICE IS A FILE STRUCTURE
DV.CDR==1←33.	;IF DVOUT=1 DEVICE IS A CDP
		; IF DVIN=1 DEVICE IS A CDR
DV.LPT==1←32.	;DEVICE IS A LINE PRINTER
DV.TTA==1←31.	;DEVICE IS A TTY CONTROLING A JOB
DV.TTU==1←30.	;TTY DDB IS IN USE
DV.TTB==1←29.	;FREE BIT LEFT FROM SCNSRF
DV.DIS==1←28.	;DEVICE IS A DISPLAY
DV.LNG==1←27.	;DEVICE HAS A LONG DISPATCH TABLE
DV.PTP==1←26.	;DEVICE IS A PAPER TAPE PUNCH
DV.PTR==1←25.	;DEVICE IS A PAPER TAPE READER
DV.DTA==1←24.	;DEVICE IS A DEC TAPE
DV.AVL==1←23.	;DEVICE IS AVAILABLE TO THIS JOB
DV.MTA==1←22.	;DEVICE IS A MAG TAPE
DV.TTY==1←21.	;DEVICE IS A TTY
DV.DIR==1←20.	;DEVICE HAS A DIRECTORY
DV.IN==1←19.	;DEVICE CAN DO INPUT
DV.OUT==1←18.	;DEVICE CAN DO OUTPUT
DV.ASC==1←17.	;DEVICE ASSIGNED BY ASSIGN COMMAND
DV.ASP==1←16.	;DEVICE ASSIGNED BY INIT OR OPEN UUO
DV.M17==1←15.	;DEVICE CAN DO MODE 17
DV.M16==1←14.	;DEVICE CAN DO MODE 16
DV.M15==1←13.	;DEVICE CAN DO MODE 15
DV.M14==1←12.	;DEVICE CAN DO MODE 14
DV.M13==1←11.	;DEVICE CAN DO MODE 13
DV.M12==1←10.	;DEVICE CAN DO MODE 12
DV.M11==1←9.	;DEVICE CAN DO MODE 11
DV.M10==1←8.	;DEVICE CAN DO MODE 10
DV.M7==1←7.	;DEVICE CAN DO MODE 7
DV.M6==1←6.	;DEVICE CAN DO MODE 6
DV.M5==1←5.	;DEVICE CAN DO MODE 5
DV.M4==1←4.	;DEVICE CAN DO MODE 4
DV.M3==1←3.	;DEVICE CAN DO MODE 3
DV.M2==1←2.	;DEVICE CAN DO MODE 2
DV.M1==1←1.	;DEVICE CAN DO MODE 1
DV.M0==1←0.	;DEVICE CAN DO MODE 0
	SUBTTL	MISC. I/O -- DEVTYP

;FIRST THE TYPE CODES
.TYDSK==0	;DEVICE IS A DISK
.TYDTA==1	;DEVICE IS A DEC TAPE
.TYMTA==2	;DEVICE IS A MAG TAPE
.TYTTY==3	;DEVICE IS A TTY
.TYPTR==4	;DEVICE IS A PTR
.TYPTP==5	;DEVICE IS A PTP
.TYDIS==6	;DEVICE IS A DISPLAY
.TYLPT==7	;DEVICE IS A LINE PRINTER
.TYCDR==10	;DEVICE IS A CARD READER
.TYCDP==11	;DEVICE IS A CARD PUNCH
.TYPTY==12	;DEVICE IS A PTY
.TYPLT==13	;DEVICE IS A PLOTTER
.TYEXT==14	;EXTERNAL TASK (DA28C)
.TYMPX==15	;MULTIPLEXOR
.TYPAR==16	;PA611R ON DC44
.TYPCR==17	;PC11(R) ON DC44
.TYPAP==20	;PA611P ON DC44
.TYLPC==21	;LPC-11 ON DC44
.TYPCP==22	;PC-11(P) ON DC44

;NOW THE CHARACTERISTICS
TY.MAN==1←35.	;LOOKUP/ENTER IS REQUIRED
TY.MDA==1←26.	;DEVICE IS CONTROLLED BY MOUNTABLE DEVICE
		; ALLOCATOR
TY.EHF==1←25.	;EXTENDED HARDWARE FEATURES:
		;IF LPT THEN HAS LOWER CASE
TY.MPX==1←24.	;DEVICE CAN BE USED VIA MPX:
TY.AVL==1←23.	;DEVICE IS FREE
TY.SPL==1←22.	;DEVICE IS SPOOLED
TY.INT==1←21.	;DEVICE IS INTERACTIVE
TY.VAR==1←20.	;DEVICE HAS VARIABLE BUFFER SIZE
TY.IN==1←19.	;DEVICE CAN DO INPUT
TY.OUT==1←18.	;DEVICE CAN DO OUTPUT
TY.JOB==777←9.	;JOB NUMBER OWNING DEVICE
TY.RAS==1←6.	;RESTRICTED DEVICE
TY.DEV==77←0.	;DEVICE TYPE
	SUBTTL	MISC. I/O -- MTCHR.

MT.AWC==777777←18.	;ACTUAL WORD COUNT
MT.CRC==777←9.	;CRC LAST READ
MT.NCR==7←6.	;NUMBER CHARACTERS READ IN LAST WORD
MT.7TR==1←4.	;7 TRACK
MT.WLK==1←3.	;WRITE LOCKED
MT.DEN==7←0.	;DENSITY
	.MTDN2==1	;200
	.MTDN5==2	;556
	.MTDN8==3	;800
	.MTD16==4	;1600

.MTRID==1	;REEL ID
.MTWRD==2	;WORDS READ (CHARS IN 6.02)
.MTWWT==3	;WORDS WRITTEN (CHARS IN 6.02)
.MTSRE==4	;SOFT READ ERRORS
.MTHRE==5	;HARD READ ERRORS
.MTSWE==6	;SOFT WRITE ERRORS
.MTHWE==7	;HARD WRITE ERRORS
.MTTME==10	;TOTAL MEDIA ERRORS
.MTTDE==11	;TOTAL DEVICE ERRORS
.MTTUN==12	;TOTAL UNLOADS
.MTNFB==13	;NUMBER OF FILES FROM BOT
.MTNRF==14	;NUMBER OF RECORDS FROM EOF
.MTICC==15	;INITIAL ERROR CONI MTC
.MTICS==16	;INITIAL ERROR CONI MTS
.MTFCC==17	;FINAL ERROR CONI MTC
.MTFCS==20	;FINAL ERROR CONI MTS
.MTTRY==21	;RETRIES TO RESOLVE LAST ERROR
	SUBTTL	MISC. I/O -- TAPOP.

;;TAPOP. UUO TAKES N,,BLOCK IN AC WHERE BLOCK CONTAINS:
;;  !=======================================================!
;;  !                     FUNCTION CODE                     !
;;  !-------------------------------------------------------!
;;  !               DEVICE NAME, CHAN. OR UDX               !
;;  !-------------------------------------------------------!
;;  !                      ARGUMENT 0                       !
;;  !-------------------------------------------------------!
;;  !                      ARGUMENT 1                       !
;;  !-------------------------------------------------------!
;;  /                                                       /
;;  /                                                       /
;;  /                                                       /
;;  !-------------------------------------------------------!
;;  !                     ARGUMENT N-2                      !
;;  !=======================================================!

;TAPOP. FUNCTIONS:
.TFWAT==1	;WAIT FOR I/O TO STOP
.TFREW==2	;REWIND TO LOAD POINT
.TFUNL==3	;REWIND AND UNLOAD
.TFFSB==4	;SKIP FORWARD 1 BLOCK
.TFFSF==5	;SKIP FORWARD 1 FILE
.TFSLE==6	;SKIP TO LOGICAL END OF TAPE
.TFBSB==7	;SKIP BACKWARD 1 BLOCK
.TFBSF==10	;SKIP BACKWARB 1 FILE
.TFWTM==11	;WRITE TAPE MARK
.TFWLG==12	;WRITE 3" OF BLANK TAPE
.TFDSE==13	;DATA SECURITY ERASE (BLANK WHOLE TAPE) TU70
.TFWLE==14	;WRITE LOGICAL END OF TAPE (WTM, WTM, BSB)
.TFLBG==15	;LABEL GET (FOR TAPE LABEL MGR.)
.TFLRL==16	;LABEL RELEASE (FOR TAPE LABEL MGR.)
.TFLSU==17	;SWAP UNITS (FOR TAPE LABEL MGR.)
.TFLDD==20	;DESTROY LABEL DDB (FOR TAPE LABEL MGR.)
.TFFEV==21	;FORCE END OF VOLUME PROCESSING
.TFURQ==22	;USER REQUEST
;READ PARAMETERS. RESULT TO AC.
.TFTRY==1000	;RETRIES ON LAST ERROR
.TFDEN==1001	;DENSITY
	.TFD00==0	;UNIT DEFAULT
	.TFD20==1	;200 BPI
	.TFD55==2	;556 BPI
	.TFD80==3	;800 BPI
	.TFD16==4	;1600 BPI
	.TFD62==5	;6250 BPI
.TFKTP==1002	;CONTROLLER TYPE
	.TFKTA==0	;TM10A
	.TFKTB==1	;TM10B
	.TFKTC==2	;TC10C
	.TFKTX==3	;TX01
.TFRDB==1003	;READ BACKWARDS (TU70 ONLY)
.TFLTH==1004	;LOW THRESHOLD READ (TM10 ONLY)
.TFPAR==1005	;EVEN PARITY (7TRK ONLY)
.TFBSZ==1006	;BLOCK SIZE
.TFMOD==1007	;MODE
	.TFMDD==0	;DEC COMPAT. CORE DUMP
	.TFMID==1	;INDUSTRY COMPAT. CORE DUMP
	.TFM8B==2	;8-BIT MODE (4 BYTES/WORD)
	.TFM6B==3	;6-BIT MODE (9-TRACK TU70 ONLY)
	.TFM7B==4	;7-BIT MODE (TU70 ONLY)
	.TFM7T==5	;7-TRACK CORE DUMP (SIXBIT)
.TFTRK==1010	;7-TRACK BIT
.TFWLK==1011	;WRITE LOCK (1=YES, 0=NO)
.TFCNT==1012	;CHAR. COUNT OF LAST RECORD
.TFRID==1013	;REELID
.TFCRC==1014	;LAST CRC (9-TRACK NRZI ONLY)
.TFSTS==1015	;UNIT STATUS
	TF.UNS==1←17.	;UNIT IS NOT TO BE SCHEDULED
	TF.BOT==1←16.	;BOT
	TF.WLK==1←15.	;WRITE LOCK
	TF.REW==1←14.	;UNIT IS REWINDING
	TF.STA==1←2.	;UNIT IS STARTED
	TF.SEL==1←1.	;UNIT IS SELECTED
	TF.OFL==1←0.	;UNIT IS OFF-LINE
.TFSTA==1016	;UNIT STATISTICS TO ARGS 0 TO 12
	.TSFIL==0	;NUMER OF FILES SINCE BOT (FILE #)
	.TSREC==1	;NUMBER OF RECORDS SINCE EOF (RECORD #)
	.TSTCR==2	;TOTAL CHARS. READ
	.TSTCW==3	;TOTAL CHARS. WRITTEN
	.TSSRE==4	;SOFT READ ERRORS
	.TSHRE==5	;HARD READ ERRORS
	.TSSWE==6	;SOFT WROTE ERRORS
	.TSHWE==7	;HARD WRITE ERRORS
	.TSESU==10	;TOTAL ERRORS SINCE UNLOAD (MOUNT)
	.TSTDE==11	;TOTAL DEVICE ERRORS SINCE SYSTEM STARTUP
	.TSUNL==12	;TOTAL UNLOADS
.TFIEP==1017	;INITIAL ERROR POINTER
.TFFEP==1020	;FINAL ERROR POINTER
.TFIER==1021	;INITIAL ERROR STATUS
.TFFER==1022	;FINAL ERROR STATUS
.TFFED==1023	;NUMBER OF RETRIES
.TFLBL==1024	;TYPE OF LABEL PROCESSING
	.TFLBP==0	;BYPASS LABEL PROCESSING
	.TFLAL==1	;ANSI LABELS
	.TFLAU==2	;ANSI LABELS WITH USER LABELS
	.TFLIL==3	;IBM LABELS
	.TFLIU==4	;IBM LABELS WITH USER LABELS
	.TFLTM==5	;LEADING TAPE MARK
	.TFLNS==6	;NON-STANDARD LABELS
	.TFLNL==7	;NO LABELS
.TFPLT==1025	;SAME AS .TFLBL EXCEPT PRIV SET. USED TO
		; SET .TFLBP AND .TFLNL.
.TFLTC==1026	;LABEL TERMINATION CODE
	.TFTCP==1	;CONTINUE PROCESSING
	.TFTRE==2	;RETURN EOF
	.TFTLT==3	;LABEL TYPE ERROR
	.TFTHL==4	;HEADER LABEL ERROR
	.TFTTL==5	;TRAILER LABEL ERROR
	.TFTVL==6	;VOLUME LABEL ERROR
	.TFTDV==7	;DEVICE ERROR
	.TFTDE==10	;DATA ERROR
	.TFTWL==11	;WRITE LOCK ERROR
.TFDMS==1027	;DIAGNOSTIC MODE SET IF 1 (TU70 ONLY)
.TFFSO==1030	;FORCE SENSE OPERATIONS IF 1 (TU70 ONLY)



.TFSET==1000	;OFFSET FROM READ TO SET
;TAPOP. ERROR CODES
TPACS%==-1	;ADDRESS CHECK STORING ANSWER
TPIFC%==0	;ILLEGAL FUNCTION CODE
TPPRV%==1	;NOT ENOUGH PRIVS.
TPNMT%==2	;NOT A MAGTAPE
TPVOR%==3	;VALUE OUT OF RANGE
TPACR%==4	;ADDRESS CHECK READING ARGUMENTS
TPCBS%==5	;PARAMETER CAN NOT BE SET
TPNIA%==6	;TAPE NOT INITED OR ASSIGNED
	SUBTTL	MISC. I/O -- WHERE

RM.SUP==17←18.	;STATION UP STATUS
	.RMSUN==1	;NOT IN CONTACT
	.RMSUD==2	;DOWN
	.RMSUG==4	;LOADING
	.RMSUL==10	;LOADED
RM.SDU==1←22.	;DIAL-UP

	SUBTTL	MISC. I/O -- CAL11.

.C11FC==0	;FUNCTION WORD
	C1.1NO==777777←18.  ;WHICH -11
	C1.1FC==777777	;WHICH FUNCTION
		.C11DP==0	;DEPOSIT FUNCTION
		.C11EX==1	;EXAMINE FUNCTION
		.C11QU==2	;QUEUE A REQUEST
		.C11NM==3	;RETURN NAME OF FRONT END PROG
		.C11UP==4	;RETURN 0 IF DOWN, 1 IF UP
.C11AD==1	;ADDRESS OF EXAMINE/DEPOSIT
.C11CN==2	;CONTENTS TO DEPOSIT
.C11EN==1	;START OF QUEUE ENTRY

C11NP%==1	;NOT PRIVILEGED
C11UF%==2	;UNKNOWN FUNCTION
C11ND%==3	;NOT DC76
C11IU%==4	;EXAM/DEP IN USE
C11NA%==5	;NO ANSWER TO EXAM/DEP
C11TS%==6	;QUEUE ENTRY TOO SHORT
C11NE%==7	;NOT ENOUGH ARGS
	SUBTTL	MISC. I/O -- GETLCH AND TRMOP.

;GETLCH BITS

GL.ITY==1←35.	;INVISIBLE TTY (PTY)
GL.CTY==1←34.	;SYSTEM CTY
GL.DSP==1←33.	;DISPLAY CONSOLE
GL.DSL==1←32.	;DATASET DATA LINE
GL.HDP==1←30.	;HALF-DUPLEX
GL.REM==1←29.	;REMOTE TTY
GL.RBS==1←28.	;REMOTE BATCH TTY
GL.LIN==1←24.	;LINE HAS BEEN TYPED
GL.LCM==1←22.	;LOWER CASE MODE
GL.TAB==1←21.	;TABS
GL.LCP==1←20.	;LOCAL COPY
GL.PTM==1←19.	;PAPER TAPE MODE

;TRMOP. ERRORS

TOPRC%==1	;PROTECTION CHECK
TORGB%==2	;RANGE BAD
TOADB%==3	;ADDRESS BAD
TOIMP%==4	;IMPOSSIBLE
TODIL%==5	;ERROR IN DIALLER
;TRMOP. FUNCTIONS

.TOSIP==1	;SKIP IF INPUT PRESENT
.TOSOP==2	;SKIP IF OUTPUT PRESENT
.TOCIB==3	;CLEAR INPUT BUFFER
.TOCOB==4	;CLEAR OUTPUT BUFFER
.TOOUC==5	;OUTPUT CHARACTER
.TOOIC==6	;OUTPUT IMAGE CHARACTER
.TOOUS==7	;OUTPUT STRING
.TOINC==10	;INPUT CHARACTER
.TOIIC==11	;INPUT IMAGE CHARACTER
.TODSE==12	;DATA SET ENABLE
.TODSC==13	;DATA SET CALL
.TODSF==14	;DATA SET OFF
.TORSC==15	;RESCAN
.TOELE==16	;SET ELEMENT
.TOEAB==17	;ENABLE AUTO BAUD DETECT

.TOOIP==1000	;OUTPUT IN PROGRESS
.TOCOM==1001	;AT COMMAND LEVEL
.TOXON==1002	;PAPER TAPE MODE
.TOLCT==1003	;LOWER CASE TRANSLATE TO UPPER
.TOSLV==1004	;SLAVE
.TOTAB==1005	;ACCEPTS TABS
.TOFRM==1006	;ACCEPTS FF AND LF
.TOLCP==1007	;LOCAL COPY (NO ECHO)
.TONFC==1010	;NO FREE CARRIAGE RETURN
.TOHPS==1011	;HORIZONTAL POSITION
.TOWID==1012	;WIDTH
.TOSND==1013	;SEND ALLOWED (NO GAG)
.TOHLF==1014	;HALF DUPLEX
.TORMT==1015	;REMOTE NON-DATA SET
.TODIS==1016	;DISPLAY CONSOLE
.TOFLC==1017	;FILLER CLASS
.TOTAP==1020	;PAPER TAPE ENABLED
.TOPAG==1021	;PAGE COMMAND GIVEN
.TOSTP==1022	;OUTPUT STOPPED (XOFF OR PAGE LIMIT)
.TOPSZ==1023	;PAGE SIZE (HEIGHT IN LINES)
.TOPCT==1024	;LINE COUNT IN PAGE
.TOBLK==1025	;SUPPRESS BLANK LINES
.TOALT==1026	;CONVERT ALTMODE (175,176) TO ESCAPE
.TOAPL==1027	;APL MODE
.TORSP==1030	;RECIEVE SPEED
.TOTSP==1031	;TRANSMIT SPEED
.TODBK==1032	;HAS DEBREAK
.TO274==1033	;2741
.TOTDY==1034	;TIDY MODE
.TOACR==1035	;AUTO CRLF
.TORTC==1036	;↑R ↑T COMPATIBLE MODE (DISABLED)
.TOPBS==1037	;PIM MODE BREAK SET (4 9-BIT BYTES)
.TOSET==1000	;OFFSET FROM GET TO SET
	SUBTTL	MISC. I/O -- GETSTS AND SETSTS

IO.IMP==1←17.	;IMPROPER MODE -- SOFTWARE DETECTECTED ERROR
IO.DER==1←16.	;DEVICE ERROR
IO.DTE==1←15.	;DATA ERROR
IO.BKT==1←14.	;BLOCK TOO LARGE
IO.ERR==17←14.	;I/O ERROR BITS
IO.EOF==1←13.	;END OF FILE
IO.ACT==1←12.	;DEVICE IS ACTIVE
IO.D29==1←6.	;DEC029 MODE (CDP ONLY)
IO.SIM==1←6.	;SUPER-IMAGE MODE (CDR ONLY)
IO.WHD==1←6.	;WRITE DISK PACK HEADERS (DSK ONLY)
IO.SSD==1←7.	;SEMI-STANDARD MODE (DTA ONLY)
IO.NSD==1←6.	;NON-STANDARD MODE (DTA ONLY)
IO.SFF==1←6.	;SUPPRESS FORM FEEDS (LPT ONLY)
IO.BOT==1←11.	;BEGINNING OF TAPE (MAG TAPE ONLY)
IO.EOT==1←10.	;END OF TAPE (MAG TAPE ONLY)
IO.PAR==1←9.	;PARITY 1=EVEN 0=ODD (MAG TAPE ONLY)
IO.DEN==3←7.	;DENSITY 0-STD 1-200 2-556 3-800 (MAG TAPE ONLY)
IO.NRC==1←6.	;READ WITH NO REREAD CHECK (MAG TAPE ONLY)
IO.PTI==1←11.	;SUBJOB IN TTY INPUT WAIT (PTY ONLY)
IO.PTO==1←10.	;SUBJOB HAS TTY OUTPUT AVAILABLE (PTY ONLY)
IO.PTM==1←9.	;SUBJOB IS IN MONITOR MODE (PTY ONLY)
IO.TEC==1←8.	;TRUTH IN ECHOING MODE (TTY ONLY)
IO.SUP==1←7.	;SUPPRESS ECHOING (TTY ONLY)
IO.FCS==1←6.	;FULL CHARACTER SET (TTY ONLY) -- OBSOLETE SYMBOL
IO.LEM==1←6.	;LINE EDITOR MODE (TTY ONLY)
IO.SYN==1←5.	;SYNCRONOUS MODE I/O
IO.UWC==1←4.	;USE USER'S WORD COUNT
IO.MOD==17←0.	;DATA MODE

;I/O MODES

.IOASC==0	;ASCII
.IOASL==1	;ASCII LINE
.IOPIM==2	;PACKED IMAGE MODE
.IOIMG==10	;IMAGE
.IOIBN==13	;IMAGE BINARY
.IOBIN==14	;BINARY
.IOIDP==15	;IMAGE DUMP
.IODPR==16	;DUMP RECORDS
.IODMP==17	;DUMP
	SUBTTL	MISC. I/O -- OPEN AND CLOSE

;CLOSE BITS

CL.DAT==1←6.	;DELETE ACCESS TABLE FROM DISK DATA BASE
CL.RST==1←5.	;INHIBIT CREATING A NEW FILE (OR SUPERSEDING
		; AN OLD ONE) ON OUTPUT CLOSE
CL.NMB==1←4.	;INHIBIT DELETING NAME BLOCK ON A
		; CLOSE WITH ONLY A LOOKUP DONE
CL.ACS==1←3.	;INHIBIT UPDATING ACCESS DATE
CL.DLL==1←2.	;INHIBIT DEALLOCATION OF ALLOCATED
		; BUT UNWRITTEN BLOCKS
CL.IN==1←1.	;INHIBIT CLOSING INPUT
CL.OUT==1←0.	;INHIBIT CLOSING OUTPUT

;OPEN BLOCK

.OPMOD==0	;MODE, ETC.
.OPDEV==1	;DEVICE NAME
.OPBUF==2	;BUFFER HEADER ADDRESSES

;OPEN AND PHYSICAL BITS

UU.PHY==1←16.	;BIT 19 .NE. BIT 18 OF CALLI IMPLIES
		; PHYSICAL DEVICE SEARCH

UU.PHS==1←35.	;SIGN BIT IN OPEN BLOCK IMPLIES PHYSICAL
		; DEVICE SEARCH
UU.DEL==1←34.	;DISABLE ERROR LOGGING
UU.DER==1←33.	;DISABLE ERROR RETRY
UU.AIO==1←32.	;ASYNCHRONOUS I/O
UU.IBC==1←31.	;ENABLE INHIBITING OF BUFFER CLEAR
UU.SOE==1←30.	;STOP OUTPUT ON ERROR. DISALLOW OUTPUT WITH ANY
		; ERROR BITS SET.
	SUBTTL	MISC. I/O -- FILOP.

;ARGUMENT BLOCK FOR FILOP.
;;  !=========================================================================!
;;  !UP!                                  !           FUNCTION CODE           !
;;  !-------------------------------------------------------------------------!
;;  !                                I/O MODE                                 !
;;  !-------------------------------------------------------------------------!
;;  !                           DEVICE NAME OR UDX                            !
;;  !-------------------------------------------------------------------------!
;;  !        OUTPUT BUFFER HEADER        !        INPUT BUFFER HEADER         !
;;  !-------------------------------------------------------------------------!
;;  !      NUMBER OF OUTPUT BUFFERS      !      NUMBER OF INPUT BUFFERS       !
;;  !-------------------------------------------------------------------------!
;;  !                                    !        PTR TO LOOKUP BLOCK         !
;;  !-------------------------------------------------------------------------!
;;  !        LENGTH OF PATH BLOCK        !         PTR TO PATH BLOCK          !
;;  !=========================================================================!

;OFFSETS IN ARGUMENT BLOCK
.FOFNC==0	;FUNCTION (AND FLAGS)
.FOIOS==1	;I/O STATUS (OPEN MODE)
.FODEV==2	;DEVICE
.FOBRH==3	;BUFFER RING HEADER POINTERS
.FONBF==4	;NUMBER OF BUFFER TO BUILD
.FOLEB==5	;PTR TO LOOKUR/ENTER BLOCK (SEE .RB??? SYMBOLS)
.FOPAT==6	;PTR TO PATH BLOCK (SEE .PT??? SYMBOLS)

;FLAGS IN .FOFNC
FO.PRV==1←35.	;JOB IS JACCT OR [1,2] AND WANT TO USE PRIVS

;FUNCTION CODES
.FORED==1	;READ ONLY
.FOCRE==2	;CREATE (NEW FILE ONLY)
.FOWRT==3	;WRITE (CREATE OR SUPERCEDE)
.FOSAU==4	;SINGLE ACCESS UPDATE
.FOMAU==5	;MULTI-ACCESS UPDATE
.FOAPP==6	;APPEND
.FOCLS==7	;CLOSE (OPTIONAL FLAGS IN .FOIOS, SEE CL.???)
.FOURB==10	;UPDATE RIB
	SUBTTL	MISC. I/O -- BUFFER HEADER FORMATS

;BUFFER HEADER FORMATS
;BUFFER RING HEADER
;;  !=======================================================!
;;  !VR!I!                       !ADDRESS OF CURRENT BUFFER !
;;  !-------------------------------------------------------!
;;  !                 BYTE POINTER TO DATA                  !
;;  !-------------------------------------------------------!
;;  !                     BYTE COUNTER                      !
;;  !=======================================================!
;;  !      (MPX: ONLY) UNIVERSAL INDEX OF THIS DEVICE       !
;;  !=======================================================!

.BFADR==0	;ADDRESS OF BUFFER RING
	BF.VBR==1←35.	;VIRGIN BUFFER RING
	BF.IBC==1←34.	;INHIBIT BUFFER CLEAR
.BFPTR==1	;BYTE POINTER TO DATA
.BFCTR==2	;ITEM BYTE COUNT
.BFUDX==3	;UNIVERSAL DEVICE INDEX (MPX: ONLY)

;INDIVIDUAL BUFFER HEADER
;;  !=======================================================!
;;  !                           !        FILE STATUS        !
;;  !-------------------------------------------------------!
;;  !US!        DATA SIZE       !    NEXT BUFFER ADDRESS    !
;;  !-------------------------------------------------------!
;;  !  (MPX:) UNIV.DEV. INDEX   !        WORD COUNT         !
;;  !=======================================================!
;;  /                                                       /
;;  /                                                       /
;;  !                         DATA                          !
;;  /                                                       /
;;  /                                                       /
;;  !=======================================================!

.BFSTS==0	;FILE STATUS WORD
	BF.STS==0,,-1	;FILE STATUS THIS BUFFER
.BFHDR==1	;BUFFER CONTROL THIS BUFFER
	BF.IOU==1←35.	;BUFFER IN USE
	BF.SIZ==377777←18.  ;SIZE OF BUFFER
	BF.NBA==777777	;NEXT BUFFER ADDRESS
.BFCNT==2	;WORD COUNT OF DATA (SOMEWHAT DEVICE DEPENDENT)

	SUBTTL	MISC. I/O -- MVHDR.

MVHDR%==1	;CHANNEL NOT OPEN
	SUBTTL	MISC. I/O -- CNECT.,SENSE., CLRST.

;CNECT. FUNCTIONS

.CNCCN==1	;CONNECT DEVICE
.CNCDC==2	;CLOSE AND DISCONNECT
.CNCDR==3	;RESET AND DISCONNECT

;CNECT. ERRORS

CNCNM%==1	;NOT MPX: CHANNEL
CNCUD%==2	;UNKNOWN DEVICE
CNCCM%==3	;CAN'T MULTIPLEX THIS DEVICE
CNCNF%==4	;NO FREE STORAGE
CNCNC%==5	;NOT CONNECTED
CNCNO%==6	;CHANNEL NOT OPEN
CNCII%==7	;INVALID UNIVERSAL DEVICE INDEX
CNCUF%==10	;UNKNOWN FUNCTION
CNCDU%==11	;DEVICE UNAVAILABLE
CNCSD%==12	;SPOOLED DEVICE

;SENSE. SUB-BLOCK

.SNSDV==0	;DEVICE NAME IN SIXBIT
.SNSST==1	;GETSTS
.SNSDS==2	;DEVSTS

;SENSE. ERRORS

SNSBD%==1	;BAD DEVICE

;ERLST. ERRORS

ERLBC%==1	;BAD CHANNEL
ERLNM%==2	;NOT MPX: CHANNEL

;CLRST. BLOCK

.CLRSX==0	;UDX
.CLRST==1	;SETSTS

;CLRST. ERRORS

CLRID%==1	;ILLEGAL DEVICE
CLRNO%==2	;NOT OWN DEVICE
	SUBTTL	MISC. I/O -- DEVLNM

DVLNX%==-1	;NON-EXISTENT DEVICE
DVLIU%==-2	;LOGICAL NAME IN USE
DVLNA%==-3	;DEVICE NOT ASSIGNED OR OPEN

	SUBTTL	MISC. I/O -- DEVSIZ

DVSDM%==0	;DUMP MODE
DVSNX%==-1	;NON-EXISTENT DEVICE
DVSIM%==-2	;ILLEGAL MODE

	SUBTTL	MISC. I/O -- MTAID.

MTINX%==-1	;DEVICE DOES NOT EXIST OR NOT A MAG TAPE
MTINA%==-2	;DEVICE IS NOT AVAILABLE TO THIS JOB

;REMOVED (NEED TO SPY TO GET THIS INFO)
;HARDWARE CHANNEL DATA BLOCK WORDS

;.CNBSY==0	;BUSY IF POSITIVE
;.CNSYS==1	;LH=ADDRESS OF NEXT BLOCK
;.CNLUE==1	;RH=ADDRESS OF UNIT WITH LAST ERROR
;.CNICW==2	;INITIAL C.W. ON LAST ERROR
;.CNFCW==3	;FINAL C.W. ON LAST ERROR
;.CNCW2==4	;COMMAND WORD-2 OF ERROR
;.CNCW1==5	;-1
;.CNCW0==6	;-0
;.CNDW2==7	;DATA WORD-2
;.CNDW1==10	;DATA WORD-1
;.CNDW0==11	;DATA WORD-0
;.CNMPE==12	;NO. CHANNEL MEMORY PARITY ERRORS
;.CNDPE==13	;NO. DATA PARITY ERRORS
;.CNNXM==14	;NO. CHANNEL NXM
;.CNCSR==15	;LH=BITS TO REQUEST CPU SWEEP OF CORE
;.CNLDE==15	;RH=LAST DDB ADDR
;.CNCBL==16	;LENGTH OF DATA BLOCK
	SUBTTL	DISK UUOS -- DSKCHR

;DSKCHR STATUS BITS
;;  !=======================================================================!
;;  !R!O!H!S!A!Z! !STS!M!N!L!     ! TYP ! DCN !  CNT-TYP  ! CNN ! UNT ! UNN !
;;  !=======================================================================!

DC.RHB==1←35.	;READ HOME BLOCK
DC.OFL==1←34.	;UNIT IS OFF-LINE
DC.HWP==1←33.	;HARDWARE WRITE PROTECT
DC.SWP==1←32.	;SOFTWARE WRITE PROTECT
DC.SAF==1←31.	;SINGLE ACCESS FILE STRUCTURE
DC.ZMT==1←30.	;ZERO MOUNT COUNT
DC.STS==3←27.	;UNIT STATUS
	.DCSTP==0	;PACK IS MOUNTED
	.DCSTN==2	;NO PACK IS MOUNTED
	.DCSTD==3	;UNIT IS DOWN
DC.MSB==1←26.	;MULTIPLE SAT BLOCKS
DC.NNA==1←25.	;NO NEW ACCESSES
DC.AWL==1←24.	;WRITE LOCKED FOR ALL JOBS
DC.TYP==7←18.	;TYPE OF ARGUMENT
	.DCTDS==0	;GENERIC DSK
	.DCTAB==1	;SUBSET DUE TO ABBREVIATIONS
	.DCTFS==2	;FILE STRUCTURE NAME
	.DCTUF==3	;UNIT WITHIN F/S
	.DCTCN==4	;CONTROLLER CLASS NAME
	.DCTCC==5	;CONTROLLER CLASS
	.DCTPU==6	;PHYSICAL UNIT
DC.DCN==7←15.	;DATA CHANNEL NUMBER
DC.CNT==77←9.	;CONTROLLER TYPE
	.DCCFH==1	;RC-10
	.DCCDP==2	;RP-10
DC.CNN==7←6.	;CONTROLLER NUMBER
DC.UNT==7←3.	;UNIT TYPE
	.DCUFD==0	;RD-10
	.DCUFM==1	;RM-10B
	.DCUD2==1	;RP02
	.DCUD3==2	;RP03
DC.UNN==7←0.	;PHYSICAL UNIT NUMBER
;DSKCHR LOCATIONS

.DCNAM==0	;ARGUMENT NAME
.DCUFT==1	;LOGGED IN BLOCKS REMAINING
	DC.NPA==1←35.	;NO PREVIOUS ACCESS
.DCFCT==2	;PHYSICAL FCFS BLOCKS REMAINING
.DCUNT==3	;PHYSICAL UNIT BLOCKS REMAINING
.DCSNM==4	;STRUCTURE NAME
.DCUCH==5	;CHARACTERISTIC SIZES
	DC.UCC==777←27.	;BLOCKS/CLUSTER
	DC.UCT==777←18.	;BLOCKS/TRACK
	DC.UCY==777777	;BLOCKS/CYLINDER
.DCUSZ==6	;UNIT SIZE IN BLOCKS
.DCSMT==7	;STRUCTURE MOUNT COUNT
.DCWPS==10	;WORDS/SAT
.DCSPU==11	;SATS/UNIT
.DCK4S==12	;K FOR SWAPPING
.DCSAJ==13	;SINGLE ACCESS JOB
.DCULN==14	;UNIT LOGICAL NAME
.DCUPN==15	;UNIT PHYSICAL NAME
.DCUID==16	;UNIT ID
.DCUFS==17	;UNIT FIRST BLOCK FOR SWAPPING
.DCBUM==20	;BLOCKS PER UNIT INCL. MAINT CYLS.
.DCCYL==21	;CURRENT CYLINER
.DCBUC==22	;BLOCKS PER UNIT IN PDP-11 COMPAT. MODE
.DCLPQ==23	;LENGTH OF POSITION WAIT QUEUE
.DCLTQ==24	;LENGTH OF TRANSFER WAIT QUEUE


	SUBTTL	DISK UUOS -- CHKACC

.ACCPR==0	;CHANGE PROTECTION
.ACREN==1	;RENAME
.ACWRI==2	;WRITE
.ACUPD==3	;UPDATE
.ACAPP==4	;APPEND
.ACRED==5	;READ
.ACEXO==6	;EXECUTE
.ACCRE==7	;CREATE
.ACSRC==10	;SEARCH DIRECTORY
	SUBTTL	DISK UUOS -- DISK.

.DUPRI==0	;SET PRIORITY
.DUSEM==1	;SET PDP-11 (22-SECTOR) MODE ON RP04
.DUSTM==2	;SET PDP-10 (20-SECTOR) MODE ON RP04
.DUUNL==3	;UNLOAD RP04
.DUOLS==4	;CHAN./CONTROLLER WILL BE OFF LINE SOON
.DUOLN==5	;CHAN./CONTROLLER IS OFF LINE NOW
.DUONL==6	;CHAN./CONTROLLER IS BACK ON LINE

;DISK. ERRORS

DUILF%==-1	;ILLEGAL FUNCTION
DUILP%==-2	;ILLEGAL PRIORITY
;****NEED MORE ERROR CODES*******
	SUBTTL	DISK UUOS -- JOBSTR

.DFJNM==0	;STR NAME
.DFJDR==1	;DIRECTORY
.DFJST==2	;STATUS
	DF.SWL==1←35.	;WRITE LOCKED
	DF.SNC==1←34.	;NO CREATE

	SUBTTL	DISK UUOS -- GOBSTR

.DFGJN==0	;JOB NUMBER
.DFGPP==1	;JOB P,PN
.DFGNM==2	;STR NAME
.DFGDR==3	;DIRECTORY
.DFGST==4	;STATUS (SAME AS .DFJST)

;GOBSTR ERRORS

DFGIF%==3	;ILLEGAL STR
DFGPP%==6	;INCORRECT PPN
DFGNP%==10	;NOT PRIV.
DFGLN%==12	;INCORRECT LENGTH

	SUBTTL	DISK UUOS -- SUSET.

SU.SOT==1←34.	;OUTPUT
SU.SMN==1←33.	;MAINTENANCE CYLINDER
SU.SCH==17←23.	;CHANNEL
SU.SBL==37,,777777  ;BLOCK NUMBER

;SUSET. ERRORS

SUSNP%==-1	;NOT PRIVILEGED
	SUBTTL	DISK UUOS -- PATH.

.PTFCN==0	;JOB #,,FUNCTION OR ARGUMENT CHANNEL OR DEVICE
		.PTFRD==-1	;READ DEFAULT
		.PTFSD==-2	;SET DEFAULT PATH
		.PTFSL==-3	;SET LIB, NEW, SYS
		.PTFRL==-4	;READ LIB, NEW, SYS
.PTSTR==0	;ANSWER HAS STR NAME
.PTSWT==1	;SWITCHES AND FLAGS
	PT.SLT==7←6.	;TYPE OF SEARCH LIST
		.PTSLJ==1	;JOB
		.PTSLA==2	;ALL
		.PTSLS==3	;SYS
	PT.IPP==1←5.	;IMPLIED PPN (FORCED)
	PT.LIB==1←4.	;/LIB
	PT.SYS==1←3.	;/SYS
	PT.NEW==1←2.	;/NEW
	PT.SCN==3←0.	;SCAN SWITCH
		.PTSCN==1	;NO (OFF)
		.PTSCY==2	;YES (ON)
	PT.SNW==1←1.	;/NEW ON .PTFSL/.PTFRL
	PT.SSY==1←0.	;/SYS ON .PTFSL/.PTFRL
.PTPPN==2	;PPN (UFD) OF PATH
.PTMAX==11	;LAST POSSIBLE 0 AFTER LAST SFD +1
		;(IE, LENGTH OF PATH BLOCK)
	SUBTTL	DISK UUOS -- STRUUO

.FSSRC==0	;UPDATE THIS SEARCH LIST (SEE .DFJXX)
.FSDSL==1	;UPDATE SYSTEM/JOB SEARCH LIST
	.FSDJN==1	;JOB# (0=SYS)
	.FSDPP==2	;PPN
	.FSDFL==3	;FLAGS
		DF.SRM==1←0.	;REMOVE FROM S/L COMPLETELY
.FSDEF==2	;DEFINE NEW F/S
	.FSNST==1	;POINTER TO STR PARAMS
	.FSNUN==2	;FIRST POINTER TO UNIT PARAMS
    ;STR PARAM BLOCK
	.FSSNM==0	;NAME OF STRUCTURE
	.FSSNU==1	;NUMBER OF UNITS
	.FSSHL==2	;HIGHEST LOGICAL BLOCK
	.FSSSZ==3	;SIZE OF STR
	.FSSRQ==4	;RESERVED QUOTA
	.FSSRF==5	;RESERVED FREE
	.FSSTL==6	;TALLY OF FCFS FREE
	.FSSOD==7	;BLOCKS FOR OVERDRAW
	.FSSMP==10	;MFD FIRST RETRIEVAL POINTER
	.FSSML==11	;-1 IF .FSSMP IS ONLY POINTER
	.FSSUN==12	;MFD UNIT
	.FSSTR==13	;NUMBER OF RETRIES ON ERROR
	.FSSBU==14	;LARGEST BLOCK ON UNIT
	.FSSBC==15	;BLOCKS PER SUPER-CLUSTER
	.FSSSU==16	;SUPER-CLUSTERS PER UNIT
	.FSSIG==17	;(IGNORED)
	.FSSCC==20	;BYTE POINTER TO CLUSTER COUNT
	.FSSCK==21	;BYTE POINTER TO CHECKSUM
	.FSSCA==22	;BYTE POINTER TO CLUSTER ADDRESS
    ;UNIT DATA BLOCK
	.FSUNM==0	;UNIT NAME
	.FSUID==1	;PACK ID
	.FSULN==2	;LOGICAL NAME
	.FSULU==3	;NUMBER WITHIN STR
	.FSUDS==4	;STATUS BITS
		FS.UWL==1←35.	;SOFTWARE WRITE-LOCK
		FS.USA==1←34.	;SINGLE ACCESS
	.FSUGP==5	;NUMBER BLOCKS TO ALLOCATE
	.FSUTL==6	;FREE BLOCK TALLY
	.FSUBC==7	;BLOCKS PER CLUSTER
	.FSUCS==10	;CLUSTERS PER SAT
	.FSUWS==11	;WORDS PER SAT
	.FSUSC==12	;SATS IN CORE
	.FSUSU==13	;SATS PER UNIT
	.FSUSP==14	;POINTER TO SPT TABLE
;(CONT.) OF STRUUO FUNCTIONS

.FSRDF==3	;CHANGE F/S STATUS
	.FSRJN==1	;JOB NUMBER
	.FSRPP==2	;JOB P,PN
	.FSRNM==3	;STR NAME
	.FSRST==4	;NEW STATUS
		FS.RWL==1←35.	;WRITE LOCK ALL USERS
		FS.RSA==1←34.	;SINGLE ACCESS
.FSLOK==4	;LOCK F/S
.FSREM==5	;REMOVE F/S
.FSULK==6	;TEST/SET UFD INTERLOCK
.FSUCL==7	;CLEAR UFD INTERLOCK
.FSETS==10	;SIMULATE ERROR
	.FSEUN==1	;UNIT
	.FSEGT==2	;NUMBER OF TRANSFERS BEFORE ERROR
	.FSEDB==3	;NUMBER OF DATAI'S TO RUIN
	.FSEDO==4	;OR TO DATAI
	.FSEDA==5	;ANDCAM TO DATAI
	.FSECB==6	;NUMBER OF CONI'S TO RUIN
	.FSECO==7	;OR TO CONI
	.FSECA==10	;ANDCAM TO CONI
.FSMNW==11	;MODIFY NOCREATE AND WRITE LOCK
	.FSMFS==1	;FILE STRUCTURE
	.FSMFL==2	;FLAGS
		FS.MWL==1←35.	;WRITE LOCK
		FS.MNC==1←34.	;NO CREATE

;STRUUO ERRORS

FSILF%==0	;ILLEGAL FUNCTION CODE
FSSNF%==1	;STR NOT FOUND
FSSSA%==2	;STR IS SINGLE ACCESS
FSILE%==3	;ILLEGAL ENTRY IN LIST
FSTME%==4	;TOO MANY ENTRIES IN S/L
FSUNA%==5	;UNIT NOT AVAILABLE
FSPPN%==6	;PPN DOES NOT MATCH
FSMCN%==7	;MOUNT COUNT GREATER THAN ONE
FSNPV%==10	;NOT PRIVILEGED USER
FSFSA%==11	;STRUCTURE ALREADY EXISTS
FSILL%==12	;ILLEGAL ARGUMENT LIST LENGTH
FSUNC%==13	;UNABLE TO COMPLETE UUO
FSNFS%==14	;SYSTEM FULL OF STRS
FSNCS%==15	;INSUFFICIENT FREE CORE FOR DATA BLOCKS
FSUNF%==16	;ILLEGAL UNIT
FSRSL%==17	;STR REPEATED IN S/L
	SUBTTL	LOOKUP/ENTER/RENAME

;DEFINE RIB LOCATIONS (IE, INDEX IN EXTENDED LOOKUP/ENTER BLOCK)

.RBCNT==0	;COUNT OF ARGS FOLLOWING
	RB.NSE==1←17.	;(ENTER ONLY) NON-SUPERSEDING ENTER
.RBPPN==1	;DIRECTORY NAME OR POINTER
.RBNAM==2	;FILENAME
.RBEXT==3	;EXTENSION, ACCESS DATE, ERROR CODE
	RB.CRX==7←15.	;EXTENSION OF RB.CRD
	RB.ACD==77777	;ACCESS DATE
.RBPRV==4	;PRIVILEGE, MODE, CREATION TIME AND DATE
	RB.PRV==777←27.	;PRIVILEGE
	RB.MOD==17←23.	;MODE
	RB.CRT==3777←12.	;CREATION TIME
	RB.CRD==7777←0.	;CREATION DATE
.RBSIZ==5	;LENGTH
.RBVER==6	;VERSION
.RBSPL==7	;SPOOLED FILE NAME
.RBEST==10	;ESTIMATED LENGTH
.RBALC==11	;ALLOCATION
.RBPOS==12	;POSITION TO ALLOCATE
.RBFT1==13	;DEC NON-PRIV. FUTURE ARG
.RBNCA==14	;NON-PRIV. CUSTOMER ARG
.RBMTA==15	;TAPE LABEL
.RBDEV==16	;LOGICAL UNIT NAME
.RBSTS==17	;FILE STATUS BITS
	RP.LOG==1←35.	;LOGGED IN
	RP.UCE==1←26.	;CHECKSUM ERROR
	RP.UWE==1←25.	;WRITE ERROR
	RP.URE==1←24.	;READ ERROR
	RP.UER==7←24.	;ALL UFD ERRORS
	RP.DIR==1←17.	;DIRECTORY
	RP.NDL==1←16.	;NO DELETES
	RP.NFS==1←14.	;DON'T FAILSAFE
	RP.ABC==1←13.	;ALWAYS BAD CHECKSUM
	RP.ABU==1←11.	;ALWAYS BACK UP
	RP.NQC==1←10.	;NON-QUOTA CHECKED FILE
	RP.CMP==1←9.	;UFD COMPRESSING
	RP.FCE==1←8.	;CHECKSUM ERROR
	RP.FWE==1←7.	;WRITE ERROR
	RP.FRE==1←6.	;READ ERROR
	RP.BFA==1←3.	;BAD BY FAILSA RESTORE
	RP.CRH==1←2.	;CLOSED AFTER CRASH
	RP.BDA==1←0.	;BAD BY DAMAGE ASSESSMENT
	RP.ERR==715	;ALL FILE ERRORS
.RBELB==20	;ERROR LOGICAL BLOCK
.RBEUN==21	;ERROR UNIT AND LENGTH
.RBQTF==22	;FCFS LOGGED-IN QUOTA
.RBQTO==23	;LOGGED-OUT QUOTA
.RBQTR==24	;RESERVED QUOTA
.RBUSD==25	;BLOCK IN USE
.RBAUT==26	;AUTHOR
.RBNXT==27	;CONTINUED STR
.RBPRD==30	;PREDECESSOR STR
.RBPCA==31	;PRIV. CUSTOMER ARG
.RBUFD==32	;POINTER BACK TO UFD
.RBFLR==33	;RELATIVE BLOCK IN FILE COVERED BY THIS RIB
.RBXRA==34	;POINTER TO NEXT RIB IN CHAIN
.RBTIM==35	;CREATION DATE,,TIME IN INTERNAL SYSTEM FORMAT
;LOOKUP/ENTER/RENAME/GETSEG/RUN ERROR CODES

ERFNF%==0	;FILE NOT FOUND
ERIPP%==1	;INCORRECT PPN
ERPRT%==2	;PROTECTION FAILURE
ERFBM%==3	;FILE BEING MODIFIED
ERAEF%==4	;ALREADY EXISTING FILE NAME
ERISU%==5	;ILLEGAL SEQUENCE OF UUOS
ERTRN%==6	;TRANSMISSION ERROR
ERNSF%==7	;NOT A SAVE FILE
ERNEC%==10	;NOT ENOUGH CORE
ERDNA%==11	;DEVICE NOT AVAILABLE
ERNSD%==12	;NO SUCH DEVICE
ERILU%==13	;ILLEGAL UUO
ERNRM%==14	;NO ROOM
ERWLK%==15	;WRITE-LOCKED
ERNET%==16	;NOT ENOUGH TABLE SPACE
ERPOA%==17	;PATIAL ALLOCATION
ERBNF%==20	;BLOCK NOT FREE
ERCSD%==21	;CAN'T SUPERSEDE A DIRECTORY
ERDNE%==22	;CAN'T DELETE NON-EMPTY DIRECTORY
ERSNF%==23	;SFD NOT FOUND
ERSLE%==24	;SEARCH LIST EMPTY
ERLVL%==25	;SFD NEST LEVEL TOO DEEP
ERNCE%==26	;NO-CREATE FOR ALL S/L
ERSNS%==27	;SEGMENT NOT ON SWAP SPACE
ERFCU%==30	;CAN'T UPDATE FILE
ERLOH%==31	;LOW SEG OVERLAPS HI SEG (GETSEG)
ERNLI%==32	;NOT LOGGED IN (RUN)

;FILE PROTECTION CODES

.PTCPR==0	;CHANGE PROTECTION
.PTREN==1	;RENAME
.PTWRI==2	;WRITE
.PTUPD==3	;UPDATE
.PTAPP==4	;APPEND
.PTRED==5	;READ
.PTEXO==6	;EXECUTE
.PTNON==7	;NO-ACCESS

;DIRECTORY PROTECTION CODES

PT.LOK==4	;ALLOW LOOKUPS
PT.CRE==2	;ALLOW CREATES
PT.SRC==1	;SEARCH DIRECTORY